[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод Массива таблицы
Страницы: 1, 2
ayubu87
есть проблемка , вывожу массив таблицы , а значение все время одно и то же ( 8 )



откуда эта восьмерка не пойму , чертовщина какая то.....


вот код:


$scht = mysql_query("SELECT * FROM Mrush ORDER BY id",$link);
$newarr = mysql_fetch_array($scht);
$sizearray=sizeof($newarr);
echo "..............sizearray = ". $sizearray;


for($id_count=1;$id_count<=$sizearray; $id_count++)
{
$result = mysql_query("SELECT * FROM Mrush WHERE id='$id_count'",$link);
$array = mysql_fetch_array($result);

echo "<table> <td class='thickBorder' width='199' height='1'>".$array['name']."</td><td class='thickBorder' width='80' height='1'>".$array['age']." </td><td class='thickBorder' width='220' height='1'>".$array['car']." </td> </table>";




все работает нормально , но выводит все время 8 элементов , хотя в базе их 15......
Valick
ayubu87, в чем смысл этого кода?


_____________
Стимулятор ~yoomoney - 41001303250491
Valick
$scht = mysql_query("SELECT * FROM Mrush ORDER BY id",$link);
echo '<table>';
while($array = mysql_fetch_assoc($scht))
echo "<td class='thickBorder' width='199' height='1'>".$array['name']."</td><td class='thickBorder' width='80' height='1'>".$array['age'].
" </td><td class='thickBorder' width='220' height='1'>".$array['car']." </td>";
echo '</table>';

замени вот на это

_____________
Стимулятор ~yoomoney - 41001303250491
zelenuy
ayubu87
Ну смотря пятнадцать чего? Вы внимательней базу посмотрите, вы может не то считаете
ayubu87
15 ID , Спасибо помогло , видать я цикл неправильно реализовал
sergeiss
Цитата (ayubu87 @ 10.03.2014 - 14:11)
$scht = mysql_query("SELECT * FROM Mrush ORDER BY id",$link);
$newarr = mysql_fetch_array($scht);
$sizearray=sizeof($newarr);

Проблема в том, что тут ты считаешь количество колонок в одной выборке (в первой строке) smile.gif И похоже, что в этой таблице их именно 8. Это первое.

А второе то, что не надо делать запросы в цикле!!! Ты таким образом очень много лишнего нагружаешь БД, и твоя страница формируется намного дольше. Лучше сделать один запрос к БД, который выберет сразу все нужные данные.

И третье. id в реальных данных вовсе не обязан быть в диапазоне от 0 до скольки-то. Так что твой цикл неверный сразу по ряду причин.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
ayubu87
Спасибо за помощь в решении проблемы , и за полезные советы user posted image
sergeiss
Полезных советов тут больше намного: http://phpforum.su/index.php?showtopic=21916

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
ayubu87
все сделал как вы подсказали , все работает офигенно , за исключением того что первый индекс (ID) не выдает
sergeiss
Цитата (ayubu87 @ 10.03.2014 - 15:31)
за исключением того что первый индекс (ID) не выдает

Покажи код... Хотя я на 146% уверен smile.gif, что ты сначала читаешь первую строку, а только потом начинаешь правильно обрабатывать данные. Либо это цикл do-while "в поповском стиле", либо как-то по-другому, но также неправильно сделано.

Код покажи.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
ayubu87

<?php


$username = "gb_caritt";
$password = "*********";
$hostname = "mysql47.1gb.ru:3306";



$link = mysql_connect($hostname, $username, $password);
mysql_set_charset('utf8',$link);
if (!$link) {
die('base not found' . mysql_error());
}

mysql_select_db('gb_caritt') or die(mysql_error());



$scht = mysql_query("SELECT * FROM Mrush ORDER BY name",$link);
$array = mysql_fetch_array($scht);





while($array = mysql_fetch_array($scht))
{
echo "<table> <td class='thickBorder' width='199' height='1'>".$array['name'].
"</td><td class='thickBorder' width='80' height='1'>".$array['age']."
</td><td class='thickBorder' width='220' height='1'>"
.$array['car']." </td> </table>";
}
mysql_close ();
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.