Косяк в коде на пхп

Статус
В этой теме нельзя размещать новые ответы.

Может я и не прав что отписался не по теме. Извеняюсь, но вы прежде чем облаживать кого-то ответили нормально, по человечески.
основы пхп знаю
Все мои начальные проэкты закрыты из в не, доказательств предоставить не могу. Да и понту, вы ж могучий кодер, что мне до вас, я ж ламос.
Тему кроем, иду заново учить пхп, и ббкод как вы выразились.
Зы, в action кстати идет вызов ф-ции add_zav1() Это ж ***но-код.
Тема закрыта. Все больше и больше убеждаюсь, что на данном форуме у часть людей понтов больше чем дельных советов. Еще раз спасибо всем откликнувшимся людям.
Пошел заново учить пхп.
 
А ты вообще вкурсе что должно быть в атрибуте action тега form
Знаешь мне вообще как бы параллельно что должно быть в теги экшен - ты спросил где происходит вызов функции - я указал.
Это мега LOL :D


Ну ну. Загляни в мануал для начала по поводу синтаксиса INSERT :D

Сам читай синтаксис инсерта
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
Знаешь что значат квадратные скобки?
И после этого ты хочешь сказать что такой вот запрос не выполнится?
INSERT INTO `pma_history` VALUES ('3', 'dd', 'dd', 'dd', NOW( ) , 'dd')
 
Вполне может не выполниться, так как не приведена структура таблицы.
If you do not specify a list of column names for INSERT ... VALUES or INSERT ... SELECT, values for every column in the table must be provided by the VALUES list or the SELECT statement.

Специально локально проверил. Создал таблицу как в первом посте и попытался выполнить
INSERT INTO add_zayavka VALUES ('127.0.0.1');
получил
Column count doesn't match value count at row 1
 
Вот тебе из обломков твоего кода, с небольшой коррекцией образец скрипта заносящего значение из формы в базу.
Код:
<?php
$dbhost="localhost";
$dbname="noc";
$dbuser="root";
$dbpass="";

$db=mysql_connect($dbhost, $dbuser, $dbpass) or die ("Not connect:" .mysql_error());

$db_table=mysql_select_db($dbname) or die ("Not connect:" .mysql_error());

$address=addslashes($HTTP_POST_VARS["address"]);

if($Cmd=="Add") AddZap();

mysql_close($dbbase);

echo '<form method="post" action="">';
echo '<input type="hidden" name="Cmd" value="Add">';
echo '<input type="text" name="address" size=45 maxlenght=200>';
echo '<input type="submit" value="Добавить">';
echo '</form>';

exit;
//***********************************************************
function AddZap()
    {
    global $address;

    $query='insert into add_zayavka (`address`) values ("'.$address.'")';

    $result= mysql_query($query) or die ("<b>Not query</b>");
    if ($result)
        echo mysql_affected_rows(). " cool add";
    exit();
    }
?>

Проще уже просто некуда...
 
INSERT INTO add_zayavka VALUES ('127.0.0.1');
Не поверите, делал запрос так и пишится )))
Вот же ***но код да рабочий
Ошибка 100% но работает.
Ps Давно все исправил. Спасибо за отзывчивость и матюки.
Теперь прошу вас в другую ветку, поговорим о создании трекера?
 
Возвращаемся к косякам.

Есть нтмл стр. с данным кодом:
------------
<table align="center" border="1">
<form action="sort1.php" method="post">
<tr>
<td><label>Adress
<select name="type1">
<option value="address" name="address">address</option>
<option value="0" name="0"0</option>
</select>
</td>

содержание файла sort1.php:

<table border=1 style="border-collapse:collapse;" bordercolor=#000000 bgcolor="#f5f5f5">
<?php
include ('connect.php');
$number=1;
$query="select * from add_zayavka";
$result=mysql_query($query);
$count321=mysql_num_rows($result);

//$address="address";

if ($type1==="address")
{


for ($i=0; $i<$count321; $i++)
{
$row=mysql_fetch_row($result);

echo "<td align=center>$number</td>
<td align=center>$row[1]</td>
</tr>";
$number=$number+1;
}

}

elseif ($type1=="0")
{
echo "net danih dlya sortirovki";
}


?>
</table>
=====================
Задача. Выводить по заданым критериям определен. поля из базы.
В базе вот что. индент.,адресс,телефон

В 1стр.=нтмл выбирается из выпадающего списка допустим адресс, 2-ой скрипт смотрит, если в перемен. тайп1=выборке выводить все адресса, если же нет, то определен. форму таблицы с ячейками.
Что сделал не так? помогите за спасибо ))))
 
<option value="address" name="address">address</option> - у опшенов, параметр нейм никуда не передается, да и нет его в спецификации. %)

if ($type1==="address") - будет работать только с регистер_глобалс=он, что есть гавно.
используй $_POST['type1'] .

Что не так? :) Да все не так. :) судя по написанному, у тебя будут выводиться ВСЕ строки из таблицы эдд_заявка, в случае если в селекте выбрано адрес. :)
Опиши конкретнее задачу, и покажи структуру таблицы. :)
 
CREATE TABLE `add_zayavka` (
`id_zav` int(10) unsigned NOT NULL auto_increment,
`address` varchar(200) NOT NULL,
`telephone` varchar(10) NOT NULL default '',
`time` varchar(10) NOT NULL default '',
`date` varchar(10) NOT NULL default '',
`time2` varchar(10) NOT NULL default '',
`date2` varchar(10) NOT NULL default '',
`ip_add` varchar(20) NOT NULL default '',
`comments` varchar(255) NOT NULL default '',
`nastroishiki` varchar(255) NOT NULL default '',
`segment` varchar(50) NOT NULL default '',
`error` varchar(50) NOT NULL default '',
PRIMARY KEY (`id_zav`)
) ENGINE=MyISAM;
=======================
у тебя будут выводиться ВСЕ строки из таблицы эдд_заявка, в случае если в селекте выбрано адрес
===========
Не говорите гоп пока не перескочите. Все будет выводиться что я задал. Для чего вот этот код?
$row=mysql_fetch_row($result);
или mysql_fetch_array($result);

Косяк думаю исправил, указав пост.
 
$count321=mysql_num_rows($result); - количество строк в таблице, т.к. запрос - выбрать ВСЕ строки. %)

for ($i=0; $i<$count321; $i++)
{$row=mysql_fetch_row($result); - код этот стоит в цикле, по количеству строк.. :) т.е. будут выведены ВСЕ строки. а точнее, только указанный номер колонки из строки..
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху