Forum Webscript.Ru
Программирование => PHP => Тема начата: -DieseLok- от 25 Ноября 2004, 04:06:15
-
Драсте! Уже запарился поиск мучать...
Вообщет ситуация такая:
$query = "SELECT link FROM photo";
$result = mysql_query($query, $connection);
while ($rows = mysql_fetch_array($result))
{
|
}
Вообщем, получаеться что из базы выводиться ссылки на картинки.
Возможно ли как-то ограничить вывод ссылок в ряду? нутоесть на страницу я знаю как, лимит, а допустим у меня стоит лимит 10, тоесть выводить на страницу 10 ссылок/картинок, в ряд помещяеться 5, тоесть два ряда, как это зделать? ато у меня получеться выводяться все 10 картинок в один ряд и сайт становиться в два раза шире :(
Зарание спасибо!
-
function TblCreation($col, $all, $data)
{
echo \'\';
$i = 0;
if ( $all > $col ){
for ( $tr=0; $tr<$all; $tr+=$col ) {
echo "\\t\\n";
for( $td=0; $td<$col; $td++ ) {
if ( $tr + $td < $all ) {
echo \' | \';
$i++;
}
}
echo "\\t\\n
";
}
}else{
echo "";
for ( $td=0; $td<$all; $td++ ) {
echo \' | \';
$i++;
}
echo "
";
}
echo "
";
}
# $col - количество колонок
# $all - количество записей
# $data - записи
-
Спаисбо код работает!
Только проблемка...
он выдаёт вместо картинки из базы...
по букве ссылки в каждой ячейке
тоесть допустим у меня в ряду 10 ячеек
и ссылка на картинку:
то скрипт выдаёт такое:
В ячейке №1: <
В ячейке №2: i
В ячейке №3: m
В ячейке №4: g
В ячейке №5:
В ячейке №6: s
В ячейке №7: r
и т.д.
помогите плз!
Зарание спасибо!
-
Это не форум, это цирк...
-
А что смешного? что я не так спросил?
-
-DieseLok-
Проблема не в скрипте. А в твоем выводе данных из БД.
-
Дело в том что для проверки я не делал вывод из базы данных, я просто ввёл определённую строку...
только единственное если это важно из приведенного выше примера я вырезал вот что:
function TblCreation($col, $all, $data)
{}
у меня просто не получалось применить функцияю :(
-
-DieseLok-
Я ввел в предыдущую функцию изменения для удобства.
1. Вызывай функцию так:
TblCreation($col, $all, $data);
2. $data - это не строка а массив.
попробуй так:
array("risunok_1.gif", "risunok_2.gif", risunok_n.gif);
3. $all - это количетва записей, тоесть $all = count($data);
4. $col - количество колонок вводим вручную.
-
Спасибо конечьно уже вроде опять наполу работает :) ну тоесть у меня из базы выводиться ссылка на картинку... и как мне теперь в массив ссылку впихнуть?
зарание спасибо...
-
-DieseLok-
Ни в какой массив тебе НЕ НАДО впихивать ссылку!
[OFF]Результат запроса в БД и есть твой массив.[/OFF]
-
// по результату этого вывода выкидываеться 6 ссылок на рисунки
$query = "SELECT * FROM lsongs WHERE si_id=\'4\'";
$result = mysql_query($query, $connection);
$posts=mysql_numrows($result);
$col="3";
$all="$posts";
$query = "SELECT * FROM lsongs WHERE si_id=\'4\'";
$result = mysql_query($query, $connection);
while ($rows = mysql_fetch_array($result))
{
$data = $rows[so_link];
}
TblCreation($col, $all, $data);
После вот такого вывода выводиться первая картинка, а после неё ничего не выводиться...
Помогите плз... что я, ломака, не так делаю?
Зарание спасибо!
-
Попробуй for() использовать!
ИМХО while() впадает в бесконечный цикл ибо проверки условия в твоем коде нет!
Это во первых....
Во-вторых:
Как ты собираешься в таблицу вводить вместо массива переменную???
Мой совет:
1. замени while на for
2. тело цикла немного расширь...сделай все не так изящно, но по рабочему (Генерируй таблицу обычным HTML примерно так же как делал в начале темы. Только с помощью for())!!!
-
Вот короче:
echo "";
$i=1;
$query = "SELECT * FROM logo_songs WHERE si_id = \'10\'";
$result = mysql_query($query, $connection);
while ($line = mysql_fetch_array($result))
{
$img=$line[\'so_link\'];
echo " | ";
if ($i==5)
{
echo "
";
$i=0;
}
$i++;
}
echo "
";
В пару строк готовый скрипт, мне помогли :) всем спасибо!
-
Vranos:
Попробуй for() использовать! ИМХО while() впадает в бесконечный цикл ибо проверки условия в твоем коде нет!
Бред какой то.
Вывод данных из БД в массив как раз так и производится в теле цикла while() а не for() во избежании пересчета данных в массив. И условий в теле цикла в данном случае никаких не надо.
А по поводу вышеизложенного мною скрипта если есть какие то доводы. Рад буду услышать их.
-DieseLok-
А вам молодой человек перед тем как возврощатся к дискусии данной темы посоветую прочесть всю тему с начало до конца и не раз. Да бы избежать ошибок на подобе:
$all = $post; Разве я такое писал ?
$all - intager. $post - у тебя массив. И ты после этого хочешь что бы скрипт работал ?
А по поводу возврощения к этой теме, я более чем уверен, что вернешся и не раз. Так как выше изложенный тобою скрипт никуда не годится, что его синтаксис, не говоря уже о логике его.
-
А чё в нем не так? просто ради интереса...
Впринцыпе те задачи которые я ставил перед этим скриптом он выполняет... но ради интереса что я теряю?