Добрый день!Снова я тут у Вас сижу! Вообщем на локалке у себя делаю подключение к базе данных делаю выборку тока результат меня удивляет! Код (PHP): <table border="1" width="100%"> <? $link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error()); $sqli = "SELECT ID FROM order ORDER BY ID"; mysql_select_db ("bd", $link); $res = mysql_query ($sqli, $link); for($i=0; $i<mysql_num_rows($res); $i++) { $eri[$i]=mysql_fetch_array($res); } for($it=0; $it<count($eri); $it++) { echo "<tr><td width='100'>".$eri[$it]['ID']."</td>"; ?> </td> <td width="100"> <button onclick="qu()">Заказать</button></td> <td> <table width="100%" border="1"> <?php $sql = "SELECT * FROM basket WHERE ORDER_ID = '".$eri[$it]['ID']."' ORDER BY ORDER_ID"; $result = mysql_query ($sql, $link); for($ia=0; $ia<mysql_num_rows($result); $ia++) { $e[$ia]=mysql_fetch_array($result); } for($ie=0; $ie<count($e); $ie++) { if($e[$ie]['ORDER_ID'] != NULL) { echo "<tr>"; echo "<td>".$e[$ie]['ORDER_ID']."</td>"; echo "</tr>"; } } ?> </table> </td> <?}?> </tr> <table> <? mysql_close($link); ?> Выдает тока немного не то! Выдает таблицу где код номера заказ ORDER_ID левый столбец равен нужной цифре а в правой таблице где выдает ID такое же как ORDER_ID выдает нудные и плюс цепляет не нужные не пойму почему! Добавлено спустя 2 минуты 25 секунд: Выдает так левый столбец 2 а справа должно быть три двойки - все правильно! 3 -> 3 3 2 откуда два не пойму должен выдать тока 3 14 -> 14 14 2 15 -> 15 14 2 откуда два и 14 тоже не понятно думаю ошибка где то в циклах помогите плиз
Намешал php с html, что сам не разберешься. Типа: вот я обкакался, помогите семечки выбрать. Это ж нужно обратным инжинирингом заниматься, чтобы понять, что ты хотел в каждый момент времени в каждой строчке. Логика программы должна быть понятна. Обязательны комментарии пока налаживаешь. После каждого запроса и обработки циклом массива выводи результат функцией var_dump, чтобы убедиться, что всё нормально с текущим шагом. Три раза посмотрел, не могу понять, что творится в коде вообще. Это при том, что требуется мизерный функционал. Нужно учиться писать логично и наглядно!
Код (Text): <? $link = mysql_connect("localhost", "root", ""); $sqli = "SELECT ID FROM order ORDER BY ID"; mysql_select_db ("db", $link); $res = mysql_query ($sqli, $link); for($i=0; $i<mysql_num_rows($res); $i++) { $eri[$i]=mysql_fetch_array($res); } for($it=0; $it<count($eri); $it++) { echo $eri[$it]['ID']."<br>"; $sqli2 = "SELECT ORDER_ID FROM basket WHERE ORDER_ID = '".$eri[$it]['ID']."' ORDER BY ORDER_ID"; $res2 = mysql_query ($sqli2, $link); for($ii=0; $ii<mysql_num_rows($res2); $ii++) { $eri2[$ii]=mysql_fetch_array($res2); } for($iti=0; $iti<count($eri2); $iti++) { echo $eri2[$iti]['ORDER_ID']."<br>"; } } ?> Вот так написал что было понятно Вам уважаемые форумчане! Выдает результат: 2 2 2 2 3 3 3 2 14 14 14 2 15 15 14 2 17 17 14 2 18 18 18 2 19 19 19 2 А должен 2 2 2 2 3 3 3 14 14 14 15 15 17 17 18 18 18 19 19 19 Добавлено спустя 14 минут 23 секунды: YSandro огромное спасибо Вам за совет! Надо делать от простого! Просто я еще тока тока начинаю применять свои знания в php на практике! Поэтому теряюсь еще когда пишу! Ошибка была в циклах!