Здравствуйте, пожалуйста, помогите мне этот код, этот код показывает только последний цикл цикла не заполнен.
$sql = mysql_query("SELECT hash FROM users");
while($row=mysql_fetch_assoc($sql)) {
$url = $row["hash"]."<br />";
}
5b50373f0dbd8ab7fe888060257967f2e0adcbdb
но полный список:
a065e7094234b1c836f9829ca9185a36132ff76f
5b50373f0dbd8ab7fe888060257967f2e0adcbdb
пожалуйста, помогите мне
Вы можете сделать это одним из трех способов. В настоящее время вы сбрасываете $url
на каждой итерации.
$sql = mysql_query("SELECT hash FROM users");
$url = '';
while($row=mysql_fetch_assoc($sql)) {
$url .= $row["hash"] . "<br />";
}
или же
$sql = mysql_query("SELECT hash FROM users");
$url = '';
while($row=mysql_fetch_assoc($sql)) {
echo $row["hash"] . "<br />";
}
или же
$sql = mysql_query("SELECT hash FROM users");
while($row=mysql_fetch_assoc($sql)) {
$url[] = $row["hash"] . "<br />";
}
При таком подходе вам нужно перебирать массив позже, foreach
..
Это хороший пример использования foreach
:
<?php
$sql = mysql_query("SELECT hash FROM users");
$rows = mysql_fetch_assoc($sql);
foreach ($rows as $row) {
$url = $row["hash"]."<br />";
}
?>
Кроме того, вы перезаписываете $url
переменная каждая итерация. Либо вставьте каждое значение в массив, либо объедините строку:
<?php
// ...
$urls = '';
$url_list = array();
foreach ($rows as $row) {
$urls .= $row['hash'].'<br>'; // concatenation
$url_list[] = $row['hash']; // add each URL to an array
}
?>
Затем вы можете либо вывести окончательную строку, либо выполнить итерацию по массиву, когда вы хотите вызвать значения.