Что не правильно в коде?
Список повторяется бескончено
<?
echo("<meta charset=utf-8>");
$link=mysql_connect('localhost','root','') or die ('noconnect');
mysql_select_db('lol') or die ('net dostupda k bd');
echo ("
<style type=\"text/css\">
body { font: 17px Georgia; color: brown; }
h3 { font-size: 16px; text-align: center; }
table { width: 50px; border-collapse: collapse; border-spacing:3px 4px; background: lightgreen; }
td { padding: 3px; text-align: center; vertical-align: middle; }
</style>");
// Основная табилца
echo("<h3>OFFICIAL TABLE</h3>");
$x="select * from tovar ";
$v=mysql_query($x);
mysql_error();
if (mysql_num_rows($v) > 0){
while($d = mysql_fetch_array($v))
{
$nom1=mysql_result($v,1,"nom");
$naim1=mysql_result($v,1,"naim");
$vid1=mysql_result($v,1,"vid");
$cena1=mysql_result($v,1,"cena");
$garant1=mysql_result($v,1,"garant");
$dopuslug1=mysql_result($v,1,"dopuslug");
$nom11=mysql_result($v,2,"nom");
$naim11=mysql_result($v,2,"naim");
$vid11=mysql_result($v,2,"vid");
$cena11=mysql_result($v,2,"cena");
$garant11=mysql_result($v,2,"garant");
$dopuslug11=mysql_result($v,2,"dopuslug");
echo ("
<table>
<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-left:160\">
<tr style=\"padding:2px margin:2px\">
<td align=\"center\" ><b>nom</b></td>
<td align=\"center\" ><b>naim</b></td>
<td align=\"center\"><b>vid</b></td>
<td align=\"center\"><b>cena</b></td>
<td align=\"center\"><b>garant</b></td>
<td align=\"center\"><b>dop. uslugi</b></td>
</tr>
<tr>
<td>".$d['nom']."</td>
<td>".$d['naim']."</td>
<td>".$d['vid']."</td>
<td>".$d['cena']."</td>
<td>".$d['garant']."</td>
<td>".$d['dopuslug']."</td>
</tr>
<tr>
<td>".$nom1."</td>
<td>".$naim1."</td>
<td>".$vid1."</td>
<td>".$cena1."</td>
<td>".$garant1."</td>
<td>".$dopuslug1."</td>
</tr>
<tr>
<td>".$nom11."</td>
<td>".$naim11."</td>
<td>".$vid11."</td>
<td>".$cena11."</td>
<td>".$garant11."</td>
<td>".$dopuslug11."</td>
</tr>
</table>
");
}
}
// Если нажата кнопка poisk
$pd=$_POST['sear'];
if (isset($_POST['poisk'])) {
switch($_POST['sear']) {
case $pd:
$isk=mysql_query(" select * from `tovar` where `nom`=\"$pd\" or `naim`=\"$pd\" or `vid`=\"$pd\" or `cena`=\"$pd\" or `garant`=\"$pd\" or `dopuslug`=\"$pd\" ");
while([email protected]_fetch_assoc($isk))
{
echo ("
<h5 style='color:black'><b>FOUND VALUES:</b></h5>
<table border=2 >
<tr style=\"padding:2px margin:2px\">
<td align=\"center\" ><b>№</b></td>
<td align=\"center\"><b>naimenovanie</b></td>
<td align=\"center\"><b>cena</b></td>
<td align=\"center\"><b>vid</b></td>
<td align=\"center\"><b>garant</b></td>
<td align=\"center\"><b>gop. uslugi</b></td>
</tr>
<tr>
<td>".$r['nom']."</td>
<td>".$r['naim']."</td>
<td>".$r['vid']."</td>
<td>".$r['cena']."</td>
<td>".$r['garant']."</td>
<td>".$r['dopuslug']."</td>
</tr>
</table>
");
}
break;
}
}
?>
<html>
<body>
<style type=\"text/css\" >
bg {background-color: #FFEBD7;}
input {
left:100;color: #ff0000;
}
</style>
<form method="post">
<input type="submit" name="poisk" value="'" style="border-style: dotted;color:#c936ba"><br>
<input type="text" name="sear" />
</form>
<a href=new10.php style="color: green">nazad</a>
</body>
</html>
Ответов: 1
Скорее всего, проблема в строке
while($d = mysql_fetch_array($v))
Вообще-то оператор while используется вот в таком варианте:
while ($d = mysql_fetch_row($v))
т.е. выборка идет построчная, пока строки отдаются mysql_fetch_row. Если же вы сразу берете весь массив, то потом надо именно просматривать массив, а не вызывать опять mysql_fetch_array.