[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод массива в 2 разных блока
Страницы: 1, 2
dee3000
html код такой:

<div id="a">
<p>
1</p>
<p>
2</p>
<p>
3</p>
</div>
<div
id="b">
<p>
1</p>
<p>
2</p>
<p>
3</p>
</div>


В таблице б.д. Много записей по 3 значения соответственно.
Нужно вывести их в данный html в цикле.
Прошу прощения за мою глупость, но только начинаю осваивать языки !!!

Пробовал так:

$rez = mysql_query ("SELECT DISTINCT * FROM table");
if (mysql_num_rows($rez) > 0){
$myrow = mysql_fetch_array ($rez);
do {
printf ("
<div id='a' >
<p>%s</p>
<p>%s</p>
<p>%s</p>
</div>
<div id='b' >
<p>%s</p>
<p>%s</p>
<p>%s</p>
</div>
"
,

$myrow2["1"],
$myrow2["2"],
$myrow2["3"],
$myrow2["1"],
$myrow2["2"],
$myrow2["3"]);}
while ($myrow = mysql_fetch_array($rez));}

выводятся одинаковые значения в первом и втором диве.
Спасибо заранее за помощь!!!
123456
ничего не понятно!

Может тебе такое надо?

$rez = mysql_query ("SELECT DISTINCT * FROM table");

while ($myrow = mysql_fetch_array($rez))
{
printf ("
<div id='a' >
<p>%s</p>
<p>%s</p>
<p>%s</p>
</div>
"
,

$myrow2["1"],
$myrow2["2"],
$myrow2["3"]);
}
dee3000
<div id='a' > Будет повторяться тогда а нужно див ид=а потом див ид=б
123456
Какая цель у тебя?
dee3000
Цель вывести 3 значения из таблицы в которой например 20 записей в 2 блока с разными ид. чтоб 2 блока повторялись но с разными значениями.

<div id="a">
<p>
1</p>
<p>
2</p>
<p>
3</p>
</div>
<div
id="b">
<p>
1</p>
<p>
2</p>
<p>
3</p>
</div>
<div
id="a">
<p>
1</p>
<p>
2</p>
<p>
3</p>
</div>
<div
id="b">
<p>
1</p>
<p>
2</p>
<p>
3</p>
</div>


и так далее...
sergeiss
dee3000, послушай умного совета smile.gif Никогда (никогда!!!) больше не используй цикл do-while() при выборке из БД. Только цикл do!!! Так, как это 123456 написал чуть ранее.

И во-вторых, если ты хочешь многократно использовать полученные данные, так сначала сохрани их в массив. Потом делай с массивом всё, что хочешь. Хоть в разным местах выводи, хоть обрабатывай любым способом. Лучше разделять чтение данных из БД и формирование страницы. Это будет ближе к MVC.

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

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

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

user posted image
dee3000
sergeiss
Ваш совет весьма противоречив. С одной стороны вы поучаете меня как полного идиота что касается php (коим я и являюсь), но с другой стороны даете совет как понимающему человеку применяя фразы которые только опытные программисты понимают.
Я то был бы очень и очень признателен человеку который потратил бы 10 минут и привел бы небольшой кусочек кода на примере моего.
Я попробую объяснить более подробней:
есть таблица где:
id img text cat
1 img1 text1 cat1
2 img2 text2 cat1
3 img3 text3 cat0
4 img4 text4 cat1
5 img5 text5 cat1
6 img6 text6 cat1

Требуется получить так:

<div id="a">
<p>
1</p>
<p>
img1</p>
<p>
text1</p>
</div>
<div
id="b">
<p>
2</p>
<p>
img2</p>
<p>
text2</p>
</div>
<div
id="a">
<p>
4</p>
<p>
img4</p>
<p>
text4</p>
</div>
<div
id="b">
<p>
5</p>
<p>
img5</p>
<p>
text5</p>
</div>
<div
id="a">
<p>
6</p>
<p>
img6</p>
<p>
text6</p>
</div>

Тоесть вывести все данные из таблицы в которой сат=1 в 2 блока див с разным ид, потом повторить до тех пор пока есть данные в таблице
sergeiss
Цитата (dee3000 @ 25.07.2015 - 21:21)
С одной стороны вы поучаете меня как полного идиота что касается php (коим я и являюсь)

Это явно не моя терминология smile.gif Я учу как человека, который практически не знает ни ПХП, ни JS, ни HTML.

Кроме всего прочего, на странице HTML не должно быть элементов с одинаковыми id. Иначе просто пропадает их смысл. id должны быть только уникальными!!!

Цитата (dee3000 @ 25.07.2015 - 21:21)
был бы очень и очень признателен человеку который потратил бы 10 минут

Цель какая - научиться или сделать код? Если просто сделать код, то тогда я перенесу тему в раздел "Проекты" и дальше мой ответ можешь не читать. Если же цель научиться, то тогда объясняю.

1. Прочитай, что такое массивы http://php.net/manual/ru/book.array.php
2. Сохрани полученные из БД данные в массив.
3. Продумай, что у тебя должно быть на странице вместо неуникальных id.
4. Создай нужные элементы.
5. Наслаждайся тем, что сделал smile.gif

Если что-то не понятно, то давай разбирать по каждому пункту. И не так, что "мне не понятно всё, сделайте за меня". А так, чтобы ты разобрался по максимуму. А всё, что не понятно, разберём тут.

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

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

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

user posted image
123456
dee3000
Понял, что id элемента для тебя не имеет значения. Тогда делай так
$rez = mysql_query ("SELECT DISTINCT * FROM table");

while ($myrow = mysql_fetch_array($rez))
{
echo "
<div id='id_"
. $myrow['id'] ."' >
<p>"
. $myrow['img'] ."</p>
<p>"
. $myrow['text'] ."</p>
<p>"
. $myrow['cat'] ."</p>
</div>
"
;
}
YVSIK
О как же это все знакомо.
и поднимался этот вопрос не раз и не два
даже,
даже тема есть
как это сделать

вот твой массив который ты выведешь и таблицы
while ($row = mysql_fetch_assoc($result))
{
/* Прошу обратить внимание на функцию MYSQL_FETCH_ASSOC()
Выбрана она не случайно, данная функциявозвратит ассоциативный
массив с которым будем работать.

Многие делают ошибку в плане оптимизации и использую функцию
MYSQL_FETCH_ARRAY() данная функциявернет два массива,
один ассоциативный другой индексный тем самым мы увеличим потрябляемую
память скриптом.
*/

}

весь полностью

а теперь чтоб вывести из этого массива что будет душе угодно
по аргументу
 echo $row['id']


в твоем примере
<div id="b">
<p>
2</p>

это будет так
<div id="<?php echo $row['id']?>">
<p>
2</p>


вообщем делать примерно так

ЗЫ. в подробности не вдавался /значениям и названиям переменных/

а Сереге, не главное поучить, главное чтоб тебя поняли, кого ты учишь) :rolleyes:
не понял тебя ТС, и не стоит дальше поучать, (мол учу и меня все понимают)
:P
так ведут себя тещи с зетьями,
анекдот в тему, сегодня узнал от соседа
/молодей человек спас спас в водоеме чужую тещю,
она дома говорит, сегодня должен придти молодой человек, это ко мне,
домашние отвечают
да знаем-знаем,
он уже принес свои извинения, пока вас не было дома. ;) /


_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
sergeiss
YVSIK, вот когда захочешь, то говоришь так, что приятно послушать smile.gif

И в этом ты тоже прав полностью:
Цитата (YVSIK @ 25.07.2015 - 22:14)
а Сереге, не главное поучить, главное чтоб тебя поняли, кого ты учишь)

Мне не интересно делать что-то за человека, но если он готов сам поработать, то я ему помогу найти ответ. Типа того, что "дай голодному рыбу и ты просто утолишь его голод; научи его ловить рыбу и он будет сытый всегда".

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

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

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

user posted image
dee3000
Господа. Огромное спасибо за ответы.
Я действительно хочу просто написать код, но так чтобы его понимать конечно, по этому я и попросил на простом примере который сам придумал. Если бы мне нужно было просто кусок кода я заплатил бы программисту за него, или если копнуть глубже вообще не писал бы сам сайт а обратился в фирму по их созданию.
К слову моя цель не научиться круто программировать, а решить задачи по моему сайту который я пишу для своей фирмы. http://modus-stroi.ru/index.php
И я полностью согласен с господином sergeiss в том что не надо за кого то делать а нужно научить, просто мне будет понятней на примере кода а не фразой: "читай учебник чувак и будет тебе счастье"
В любом случае всем большущее спасибо что не прошли мимо!!!
Да кстати что касается моего вопроса, вот такая страничка получиться должна типа ))) http://modus-stroi.ru/objhata57.php
dee3000
Реализовал в итоге так:

<?php
$array = array();
$id = 0;
while ($row = mysql_fetch_assoc($rez)) {
$array[] = $row;
}
?>
...
<?php foreach ($array as $row): ?>
<div id="<?php print ($id++%2==1) ? 'a' : 'b' ?>">
<
p><?php echo $row['id']; ?></p>
<
p><?php echo $row['img']; ?></p>
<
p><?php echo $row['text']; ?></p>
</
div>

<?php endforeach; ?>
sergeiss
Цитата (dee3000 @ 26.07.2015 - 20:51)
Реализовал в итоге так:

Всё хорошо сделал, кроме айдишников.
Ну не может быть на странице 2 одинаковых айди! Не может. Это противоречит их сути. А у тебя может быть даже не 2, а больше одинаковых айди. Тут надо или что-то добавлять к каждому айди, чтобы он был уникальным, или писать там не айди, а класс. Вот с одинаковыми классам да, может быть много разных объектов.

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

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

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

user posted image
123456
dee3000
ты собираешь данные в массив, чтоб потом использовать цикл для вывода???

Выше были варианты решения!



$id = 0;
while ($row = mysql_fetch_assoc($rez)) {
$id = $id++ % 2 == 1? 'a' : 'b';

echo '<div id="'. $id .'">
<p>'
. $row['id'] .'</p>
<p>'
. $row['img'] .'</p>
<p>'
. $row['text'] .'</p>
</div>'
;

}


И вот почитай
http://htmlbook.ru/html/attr/id
Быстрый ответ:

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