|
|
|
| Добрый день!
Есть 4 поля куда вводятся ФИО клиента и дата рождения. При нажатии на кнопку запускается поиск в базе и вывод результата. Беда в том что ничего не выводится. Подскажите где напутал?
<?php
$F=$_POST['FamField'];
$I=$_POST['NameField'];
$O=$_POST['OtcheField'];
$Date=$_POST['DTRField'];
$connect=mysql_connect("localhost", "root", "") or die("Ошибка соединения");
mysql_select_db("data") or die("Таблица не найдена");
$sql=mysql_query("SELECT familia, NameClient, OtecClient, DateBorn from client where familia='$F' and NameClient='$I' and OtecClient='$O' and DateBorn='$Date'");
while ($row = mysql_fetch_array($sql))
{
echo $row['familia, NameClient, OtecClient, DateBorn'];
}
?> | |
|
|
|
|
|
|
|
для: nameIvan
(08.06.2008 в 16:20)
| | Попробуйте так:
<?php
$F = $_POST['FamField'];
$I = $_POST['NameField'];
$O = $_POST['OtcheField'];
$Date = $_POST['DTRField'];
$connect=mysql_connect("localhost", "root", "") or die("Ошибка соединения");
mysql_select_db("data") or die("Таблица не найдена");
$sql = mysql_query("SELECT familia, NameClient, OtecClient, DateBorn FROM client WHERE familia='$F' AND NameClient='$I' AND OtecClient='$O' AND DateBorn='$Date'") or die(mysql_error());
if(mysql_num_rows($sql) > 0)
{
while ($row = mysql_fetch_assoc($sql))
{
echo "Фамилия: ".$row['familia']."<br />";
echo $row['NameClient']."<br />";
echo $row['OtecClient']."<br />";
echo $row['DateBorn']."<br />";
}
}
else
{
echo "Совпадений не найдено.<br />";
}
?>
|
| |
|
|
|
|
|
|
|
для: SportSoft
(08.06.2008 в 16:34)
| | спасибо. работает.
Еще вопрос. Как теперь найденное передать в другой файл и ставить в поле? | |
|
|
|
|
|
|
|
для: nameIvan
(08.06.2008 в 16:36)
| |
<?php
// получили данные
$F = $_POST['FamField'];
$I = $_POST['NameField'];
$O = $_POST['OtcheField'];
$Date = $_POST['DTRField'];
// производим поиск
// Выводим другой файл с формой
include('form.php');
?>
|
Файл form.php:
<?php
echo "Фамилия: <input type='text' name='FamField' value='".(isset($F) ? echo($F) : "")."' /><br />";
// и т.д.
?>
|
| |
|
|
|
|
|
|
|
для: SportSoft
(08.06.2008 в 16:34)
| | SportSoft
вот этот код работает, но когда в таблице в каком-либо поле есть пробел, например, Иванов И.И., то работает некорректно - выводит только то что до первого пробела. | |
|
|
|
|
|
|
|
для: nameIvan
(08.06.2008 в 20:36)
| | nameIvan, Вы что-то путаете, потому что такого не может быть. Проверьте через phpMyAdmin - может данные записались неверно?
to SportSoft: могли бы заодно и поправить автора относительно обработки получаемых данных (stripslashes при magic_quotes_gpc) и эскейпировании специальных символов при формировании запроса :) | |
|
|
|
|
|
|
|
для: BinLaden
(08.06.2008 в 22:44)
| | я проверял, данные записаны верно. Выводит до первого пробела | |
|
|
|
|
|
|
|
для: nameivan
(08.06.2008 в 22:48)
| | Вы привели реальный пример (с Иванов И.И.)? Строка "Иванов И.И." находится в одном поле?
Кстати, данные при выводе на HTML-страницу следует обрабатывать htmlspecialchars():
<?php
while( $row = mysql_fetch_assoc($sql) )
{
echo
"Фамилия: " . htmlspecialchars($row['familia']). "<br />",
htmlspecialchars($row['NameClient']) . "<br />",
htmlspecialchars($row['OtecClient']) . "<br />",
htmlspecialchars($row['DateBorn']) . "<br />";
}
?>
|
| |
|
|
|
|
|
|
|
для: BinLaden
(08.06.2008 в 22:58)
| | вот например строка Кем выдан паспорт.
Ленинским РОВД. Выводит только Ленинским
фрагмент кода
<?php
$F=$_POST['FamField'];
$I=$_POST['NameField'];
$O=$_POST['OtcheField'];
$Date=$_POST['DTRField'];
$connect=mysql_connect("localhost", "root", "") or die("Сервер не найден");
mysql_select_db("data") or die("Таблица не найдена");
$sql=mysql_query("SELECT KtoVyd from client where familia='$F' and NameClient='$I' and OtecClient='$O' and DateBorn='$Date'");
while ($row = mysql_fetch_array($sql))
{
echo "<input name=KemVyd type=text id=KemVyd value=".htmlspecialchars($row['KtoVyd'])."><br>";
}
?> | |
|
|
|
|
|
|
|
для: nameIvan
(08.06.2008 в 23:06)
| | У меня deja vu :)
Строковые данные (в (X)HTML вообще все значения атрибутов) следует обрамлять кавычками или апострофами:
<?php
echo "<input name='KemVyd' type='text' id='KemVyd' value='".htmlspecialchars($row['KtoVyd'], ENT_QUOTES)."'><br>";
?>
|
P.S. Обратите внимание, что поле называется "KtoVyd", а в HTML-коде уже "KemVyd" - можно запутаться... | |
|
|
|
|
|
|
|
для: BinLaden
(08.06.2008 в 23:10)
| | большое спасибо. теперь все отлично работает.
благодарю | |
|
|
|