[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрос к Mysql
DarkGuy
Добрый день!
Помогите реализовать нечто подобное

Конкретнее интересует часть

$spisok .=  ".$row['".$value."'].";



$query2 = "SELECT `id`
FROM `"
.$dbpf."_operation`
ORDER BY `id`
ASC "
;

$sql2 = mysql_query($query2) or die(mysql_error());
while ($row2=mysql_fetch_assoc($sql2))
{

foreach($row2 as $key=>$value)
{
$spisok .= ".$row['".$value."'].";
}
ECHO "<td>".$spisok."</td>";
}


в итоге после обработки хотелось бы получить список


echo'<td>'.$row['.$value1.'].'</td>
<td>'
.$row['.$value2.'].'</td>
<td>'
.$row['.$value3.'].'</td>';




Спустя 24 минуты, 31 секунда (13.05.2012 - 20:35) forza написал(а):
$spisok .=  ".$row['".$value."'].";


так писать нельзя

тогда уже $row[$value]

Спустя 5 минут, 4 секунды (13.05.2012 - 20:40) DarkGuy написал(а):
Цитата (forza @ 13.05.2012 - 16:35)
$spisok .=  ".$row['".$value."'].";


так писать нельзя

тогда уже $row[$value]

Я понимаю , но $row[$value] выдаст $row[3], а не $row['3']

Спустя 44 секунды (13.05.2012 - 20:41) Domin написал(а):
извените, но зачем там while ?
и без него все будет.

Спустя 8 минут, 43 секунды (13.05.2012 - 20:49) Domin написал(а):
папробуй так

<?php foreach($row2 as $key=>$value): ?>
<td><?=$row2[$key] ?></td>
<?php endforeach; ?>

Спустя 9 минут, 34 секунды (13.05.2012 - 20:59) Domin написал(а):
и учитесь сразу писать красиво, а то потом сами ничего не поймете и комментировать все что можно забыть!
например как делаю я

//////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////
# $val - индитификатор категории
# $start - число начала выбора(постраничная навигация)
# $num - общее количество статей(постраничная навигация)

function select_article_for_cat($val, $start, $num) {
// FUNCTION SELECT ARTICLE FOR CATIGORIES
$select = "SELECT a.`id_article`, a.`id_cat`, a.`title_article`, b.`id`, b.`title`
FROM "
. REALM_DBPREFIX ."`article_full` a LEFT JOIN ". REALM_DBPREFIX ."`article_catigories` b ON b.`id`=a.`id_cat`
WHERE a.`id_cat` = %d
ORDER BY a.`id_article` DESC LIMIT
$start, $num" ;
$sql = sprintf($select, $val) ;
$query = mysqlQuery($sql) ;
if(!$query)
die(mysql_error()) ;
$num = mysql_num_rows($query) ;
if($num !== 0) //Если есть записи то создаем массив
for ($i = 0; $i < $num; $i++)
$articles[] = mysql_fetch_assoc($query) ;
else //Если нет то отправляем по адресу:)
exit(file_get_contents('./404.html'));
return $articles;
}

П.С ECHO пишите не прописными а строчными (так echo)

Спустя 1 час, 22 минуты, 47 секунд (13.05.2012 - 22:22) Игорь_Vasinsky написал(а):
так не код с комментами выходит, а комменты с кодом biggrin.gif

Спустя 11 минут, 59 секунд (13.05.2012 - 22:34) DarkGuy написал(а):
Цитата (Domin @ 13.05.2012 - 16:49)
папробуй так

<?php foreach($row2 as $key=>$value): ?>
<td><?=$row2[$key] ?></td>
<?php endforeach; ?>

это не подойдет. Мне непросто выборку из массива надо сделать.

Спустя 7 минут, 45 секунд (13.05.2012 - 22:41) Игорь_Vasinsky написал(а):
... так - совет: если не хочешь вешать сервер (если у тя тока не свой VPS) - то не ставь цикл в цикле если этого не требует алгоритм, т.е. если этого нельзя избежать.

$query2 = "SELECT `id` 
FROM `"
.$dbpf."_operation`
ORDER BY `id`
ASC "
;

$sql2 = mysql_query($query2) or die(mysql_error());

$spisok = null;

if(mysql_num_rows($sql2))
{
while ($row2=mysql_fetch_assoc($sql2))
{
//Укажи ручками все имена столбцов
$spisok .= $row['value1'].$row['value2'].$row['value3'];
}

echo "<td>".$spisok."</td>";
}
else
echo "<td>No records on table</td>";

Спустя 16 минут, 57 секунд (13.05.2012 - 22:58) Domin написал(а):
какойто бред кодишь, написал бы понятней что и как.

Спустя 3 минуты, 3 секунды (13.05.2012 - 23:01) Игорь_Vasinsky написал(а):
в чём бред то? biggrin.gif

Спустя 6 минут, 58 секунд (13.05.2012 - 23:08) Domin написал(а):
Vasinsky, ну тыж мего про эксперт, то что ты накодил выше полное уг!
зачем эта склейка, не логичнее просто присвоить, так как переменная NULL
$spisok .=  $row['value1'].$row['value2'].$row['value3'];

что можно делать таким кодом я ваще хз, на выходе в строке все id, тупость какая-то.

Спустя 2 минуты, 46 секунд (13.05.2012 - 23:11) Domin написал(а):
Цитата (Игорь_Vasinsky @ 13.05.2012 - 19:01)
в чём бред то? biggrin.gif

я к автору поста обращался, а ты не туда влез просто.

Спустя 2 минуты, 1 секунда (13.05.2012 - 23:13) Игорь_Vasinsky написал(а):
умник. КАКИЕ ВСЕ ID, когда он склеивал все значения ячеек в строке))))
я написал как этого избежать, мой код делает тоже самое что ТС нужно было в цикле
Цитата

   foreach($row2 as $key=>$value)
   {
      $spisok .=  ".$row['".$value."'].";
   }


НО БЕЗ ЦИКЛА.

Он получил все ключи ассоциативного массива, в котором все поля каждой строки, ВСЕ, не ID

ты хоть понял что в этом цикле у него происходит??? обычная склейка всех значений в строке по всем столбцам.

Спустя 4 минуты, 9 секунд (13.05.2012 - 23:17) Domin написал(а):
у НО БЕЗ ЦИКЛА. а while для тебя не цикл?=)
я выше написал что на выходе глазки разкрой)

все, не буду спорить, куда мне до вас экспертов=)

Спустя 5 минут, 39 секунд (13.05.2012 - 23:23) Игорь_Vasinsky написал(а):
))))))))))))))))))
1. без цикла в цикле
ты как в массив все строки в БД загонишь без WHILE??????????????

я щас те глази раскрою)))

ты чё за 2 года в чужие алгоритмы вникать не научился без комментов на каждой строчке.

Будешь хамить старшим - услышишь ещё больше умностей в ответ.

давайка дождёмся ТС - пусть рассудит. мне например впадлу из зя тя в бан лететь)))

моя конструктивное предложение складывалось исключительно из анализа кода из первого поста ТС.

Спустя 7 минут, 32 секунды (13.05.2012 - 23:30) Domin написал(а):
дак вот посмотри что он просит чтоб было на выходе. а на выходе он хочет какой-то список

ВОТ ОН :
echo'<td>'.$row['.$value1.'].'</td>
<td>'
.$row['.$value2.'].'</td>
<td>'
.$row['.$value3.'].'</td>';

если это можно списком назвать.
и чтобы такое получить одного foreach хватит вполне, даже с головой.
а что вы там выдумываете я не пойму.
вытаскивает из БД все ID, и ты говорил что склеивает все значения, правильно а значения то у нас какие ID из БД, вот я и говорю что кодинг уг какоето, по другому не назвать.

и тут ты не прав:
$spisok .=  $row['value1'].$row['value2'].$row['value3'];


делается так
$spisok .=  $row ;

потому что идет склейка в цикле и не надо там велосипед придумывать.

Спустя 4 минуты, 12 секунд (13.05.2012 - 23:35) Игорь_Vasinsky написал(а):
Цитата
echo'<td>'.$row['.$value1.'].'</td>
<td>'.$row['.$value2.'].'</td>
<td>'.$row['.$value3.'].'</td>';


ты видишь что 3 разных ключа в массиве?????????????????? как это может быть склейкой 3 ID???? я убежал, и убегая ржу. адьёс всезнайкам.

Спустя 13 минут, 36 секунд (13.05.2012 - 23:48) Domin написал(а):
Цитата (Игорь_Vasinsky @ 13.05.2012 - 19:35)
Цитата
echo'<td>'.$row['.$value1.'].'</td>
<td>'.$row['.$value2.'].'</td>
<td>'.$row['.$value3.'].'</td>';


ты видишь что 3 разных ключа в массиве?????????????????? как это может быть склейкой 3 ID???? я убежал, и убегая ржу. адьёс всезнайкам.

ох блин эксперт смотри и учись получаем на выходе то что хотел автор топика.


<?php
$query = "SELECT `id`
FROM `"
.$dbpf."_operation`
ORDER BY `id`
ASC "
;
$sql = mysql_query($query) or die(mysql_error());
$num = mysql_mysql_num_rows($sql) ;
if($num !== 0) {
for($i = 0; $i < $num; $i++)
$row[] = mysql_fetch_assoc($sql) ;
}
else {
echo "Нет значений." ;
exit;
}
?>
<html>
<
head>
</
head>
<
body>
<
ul>
<?php foreach($row as $key => $value): ?>
<li><?=$row[$key] ?></li>
<?php endforeach; ?>
</ul>
</
body>
</
html>

Спустя 12 минут, 17 секунд (14.05.2012 - 00:01) Игорь_Vasinsky написал(а):
это ты мне говоришь учись???? biggrin.gif
учитель... а что получет посетитеь сайта после

Цитата
echo "Нет значений." ;
exit;


????
а последняя строка нам нафиг не нужна)))
Цитата
for($i = 0; $i < $num; $i++)


Твой перемудрёж будет медленней работать, чем специально используемы для таких ситуаций while, мало того ты добавил переменную $i в код, сделал для неё итерацию в кол-во строк в таблице - тем самым увеличив размер кода.


диплом купил? или нашёл?

Спустя 1 минута, 18 секунд (14.05.2012 - 00:02) Игорь_Vasinsky написал(а):
и тепер глянь в мою карму на последний плюсик и сделай вывод, кто как понял и что из этого предложил biggrin.gif

Спустя 2 минуты, 46 секунд (14.05.2012 - 00:05) Domin написал(а):
молодец эксперт, садись 5 кодь дальше так=)) ББ=) удачного кодинга=)

Спустя 1 минута, 49 секунд (14.05.2012 - 00:06) Игорь_Vasinsky написал(а):
спасибо. люблю когда проигравший в споре начинает нервичать, бесится, топать ногами и всё остальное.

я на звание эксперта даже не расчитывал... тут 2 раза за топик.

удач.
Быстрый ответ:

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