$sql = "SELECT mark FROM cars ORDER BY mark ASC";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res)
foreach ($row as $rows) {
print_r ($rows);
}
Приходит Audi (первый номер в таблице), если заменить $rows на $row приходит такая строка:
Array ( [mark] => Audi ), т.е. только первый элемент.
Если прогонять через while, приходят все, но в таком варианте:
Array ( [mark] => Audi )
Array ( [mark] => BMW )
Array ( [mark] => Opel )
Array ( [mark] => Opel )
Вопрос такой как получить из базы простой массив, примерно такого вида.
$mark[0]="Audi";
$mark[1]="BMW";
$mark[2]="Opel";
$mark[3]="Opel";
Он нужен для дропдаун списка, что бы сделать что то типа поиска с уже заданными значениями.
Спустя 14 минут, 51 секунда (24.05.2011 - 20:53) Игорь_Vasinsky написал(а):
:D :D :D
это чтоб посмеятся.
А вообще :
1. создал пустой массив $mark
2. записал туды значени ячеек ;)
$sql = "SELECT mark FROM cars ORDER BY mark ASC";
$res = mysql_query($sql);
$count = mysql_num_rows($res);
foreach ($row as $rows)
{
for($i=0; $i<$count; $i++)
{
print_r '$mark['.$i.']="'.$row.'\n";'
}
}
это чтоб посмеятся.
А вообще :
1. создал пустой массив $mark
2. записал туды значени ячеек ;)
Спустя 14 минут, 18 секунд (24.05.2011 - 21:07) chupakabre написал(а):
Цитата |
А вообще : 1. создал пустой массив $mark 2. записал туды значени ячеек ;) |
Ну я так пробовал, но не смог правильно обратиться к ячейкам, короче не понял нефига.
$sql = "SELECT mark FROM cars ORDER BY mark ASC";
$res = mysql_query($sql);
$count = mysql_num_rows($res);
foreach ($row as $rows)
{
for($i=0; $i<$count; $i++)
{
print_r '$mark['.$i.']="'.$row.'\n";'
}
}
И так пробовал, тоже не получилось
Спустя 18 минут, 7 секунд (24.05.2011 - 21:25) Игорь_Vasinsky написал(а):
Цитата |
А код такой не выдает все равно. |
за то посмеялись.
Спустя 3 минуты, 10 секунд (24.05.2011 - 21:28) chupakabre написал(а):
Зато я в конец запутался.
Спустя 4 минуты, 27 секунд (24.05.2011 - 21:33) Игорь_Vasinsky написал(а):
ждал ждал тебя... не хочешь думать...
вот у тя индексный массив $mark
//НАЗВАНИЕ ПОЛЕЙ И ТАБЛИЫ В АПОСТРОФАХ
$sql = "SELECT `mark` FROM `cars` ORDER BY `mark` ASC";
$res = mysql_query($sql);
while($row = mysql_fetch_array($res))
{
$mark[] = $row['mark'];
}
вот у тя индексный массив $mark
Спустя 3 минуты, 22 секунды (24.05.2011 - 21:36) chupakabre написал(а):
Да я просто голова не работает, и время много уже.
И мануалы читать мне сложновато т.к. русским и английским не в совершенстве владею.
И мануалы читать мне сложновато т.к. русским и английским не в совершенстве владею.
Спустя 1 минута, 15 секунд (24.05.2011 - 21:37) Игорь_Vasinsky написал(а):
это то что нужно?
Спустя 9 минут, 14 секунд (24.05.2011 - 21:46) chupakabre написал(а):
Да спасибо, все верно, странно я почти что так пробовал, только fetch_assoc и без тега, и нефига не получалось.
Спустя 1 минута, 27 секунд (24.05.2011 - 21:48) Игорь_Vasinsky написал(а):
почитай про mysql_fetch_assoc и mysql_fetch_array.
Цитата |
и без тега, и нефига не получалось |
тег я для наглядности поставил ( про echo забыл ) - чтоб в столбец данные вывести. Убирай его, он не нужен там.
Спустя 3 минуты, 9 секунд (24.05.2011 - 21:51) chupakabre написал(а):
Читал, но не понял что применять и когда.
Спустя 7 минут, 47 секунд (24.05.2011 - 21:59) Игорь_Vasinsky написал(а):
mysql_fetch_assoc() возвращает результат в виде ассоциативного массива
mysql_fetch_array() - тип возвращаемого массива может быть задан во втором необязательном параметре
mysql_fetch_array() - тип возвращаемого массива может быть задан во втором необязательном параметре
Спустя 10 часов, 26 минут, 6 секунд (25.05.2011 - 08:25) linker написал(а):
Таки всётаки mysql_fetch_assoc() и не забываем инициализировать переменные $mark, например
$mark = array()
$sql = "SELECT `mark` FROM `cars` ORDER BY `mark` ASC";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res))
{
$mark[] = $row['mark'];
}