|
|
|
| Я так понимаю, массив mysql_fetch_assoc многомерный, и если сделать запрос в БД на 10 результатов, цикл while разбрасывает все по ключам названия полей
while ($myrow = mysql_fetch_assoc($result))
{
$myrow["Name"]
}
но какие он использует ключи строк? и почему конструкция print_r($myrow) выдает массив одной строки
у меня задача, на пример, вывести три разные строки в трех разных местах , без использования while
вот так не получается
$myrow["Name"][4]
$myrow["Name"][2]
то есть нужно по индексам, зная их, в ручную вывести определенные поля с определенных строк массива, как это сделать, помогите !!!! | |
|
|
|
|
|
|
|
для: AN
(08.10.2009 в 01:24)
| | увидел на сайте пример типа
@$partnersi = mysql_query("SELECT src,title FROM partners",$connect);
$partnersiki = array();
while($r = mysql_fetch_assoc($partnersi))
$partnersiki[] = array(
'title' => $r['title'],
'src' => $r['src']
);
вот вопрос, а почему нужно создавать массив из массива, разве никак нельзя извлечь из массива $r ??? | |
|
|
|
|
|
|
|
для: AN
(08.10.2009 в 01:26)
| | Дело в том, что так устроена функция mysql_fetch_assoc() - она возвращает одну строку результирующей таблицы в виде массива. При следующем обращении - следующую строку, при следующем - ещё одну, пока строки в результирующей таблице не кончатся. Можете сами попробовать
<?php
$partnersi = mysql_query("SELECT src,title FROM partners",$connect);
echo "<pre>";
$r = mysql_fetch_assoc($partnersi);
print_r($r);
$r = mysql_fetch_assoc($partnersi);
print_r($r);
$r = mysql_fetch_assoc($partnersi);
print_r($r);
?>
|
А while() используется просто для того, чтобы не писать вот так несколько вызовов подряд. Если строки кончились - функция mysql_fetch_assoc() возвращает false и цикл заканчивает работу автоматически. | |
|
|
|
|
|
|
|
для: cheops
(08.10.2009 в 01:35)
| | ааааааааа
спасибо!
а как будет правильнее выводить, несколько раз вызывать $r = mysql_fetch_assoc($partnersi);
или загнать все в один массив? | |
|
|
|
|
|
|
|
для: AN
(08.10.2009 в 02:46)
| | Правильней через цикл while | |
|
|
|
|
|
|
|
для: AN
(08.10.2009 в 02:46)
| | Иногда требуется помещение данных в массив, так чтобы получилась двумерная копия результирующей таблицы, но чаще данные обрабатывают непосредственно в цикле while(). | |
|
|
|