PHP - Как я могу выполнить MySQL запрос в то время как цикл?

0

Мой первоначальный запрос состоял в том, чтобы выбрать данные из таблицы phpadmin и отобразить их в таблицу.

$sql="select * from table";
$result=mysql_query($sql) or die(mysql_error());

while($myrow=MySQL_fetch_array($result,MYSQL_ASSOC))
{
    extract($myrow);
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[0]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[1]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[2]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[3]."</td>";    
}


Затем мне нужно отобразить другой столбец, используя значение $myrow[0] чтобы выполнить другой запрос, чтобы получить значение.

$sql="select * from table";
$result=mysql_query($sql) or die(mysql_error());

while($myrow=MySQL_fetch_array($result,MYSQL_ASSOC))
{
    extract($myrow);

    $id = $myrow[0];
    $sql="select amount from table2 where id like '%$id%'";
    $result = mysqli_query($conn, $sql);

    echo "<td align='left' bgcolor='$bgclr'>".$myrow[0]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[1]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[2]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[3]."</td>";    

    while ($row=mysqli_fetch_row($result)) {

            echo "<td align='left' bgcolor='$bgclr'>".$row[0]."</td>";echo "</tr>";
        }   
    }


И моя страница стала пустой. И ошибка была в

$ result = mysqli_query ($ conn, $ sql);

Это правильный метод или как я должен это делать?

  • 1
    Возможный дубликат Могу ли я смешивать MySQL API в PHP?
  • 1
    обычно вам лучше использовать оператор соединения, чтобы вам не приходилось повторять запрос каждую итерацию
Показать ещё 8 комментариев
Теги:

1 ответ

2
Лучший ответ

Вы перезаписываете переменную $result при выполнении запроса внутри цикла здесь:

$sql="select amount from table2 where id like '%$id%'";
$result = mysqli_query($conn, $sql);

Изменение имени переменной $result внутри цикла и кода будет выглядеть так:

$sql="select amount from table2 where id like '%$id%'";
$result2 = mysqli_query($conn, $sql);

Также обновите его здесь:

while ($row=mysqli_fetch_row($result2)) {

            echo "<td align='left' bgcolor='$bgclr'>".$row[0]."</td>";echo "</tr>";
        }   
    }
  • 0
    Спасибо друг !!! Это было так просто, и я не мог увидеть свою ошибку !!! Ты спас мой день !!!
  • 0
    Также не забудьте проверить комментарии выше о готовых заявлениях!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню