Доброе время суток, есть таблица, к которой я обращаюсь 4 раза, т.к. используется 4 цикла. старый код, но работающий: Код (Text): $query = "SELECT * FROM MYTABLE "; $result1 = mysql_query($query) or die("Query failed : " . mysql_error()); $result2 = mysql_query($query) or die("Query failed : " . mysql_error()); $result3 = mysql_query($query) or die("Query failed : " . mysql_error()); $result4 = mysql_query($query) or die("Query failed : " . mysql_error()); while($row = mysql_fetch_object($result1)) {....} ..... while($row = mysql_fetch_object($result2)) {....} ..... while($row = mysql_fetch_object($result3)) {....} ...... while($row = mysql_fetch_object($result4)) {....} .... mysql_free_result($result1); mysql_free_result($result2); и т.д. mysql_close($db_open); пробывал написать вместо result1-4 просто result, т.е. сделать через 1 переменную, но тогда не вся информация выводится как надо. можно ли как-нибуть этот код по уму изменить?
а зачем делать один и тот же запрос к базе 4 раза, а потом еще и 4 цикла по ним? в одном цикле не написать? PS: в качестве аватарок использовать можно только свое фото.
я над этим много думал, но к сожалению-нельзя :? потомучто в разных местах страницы надо вывести разные данные с таблицы и между выводами находиться другой код, поэтому в 1 цикл это не закинешь. тут по ходу дела возникает у меня еще один вопросик: можно ли как в Exel [$C1=$B1+$A1*3] сделать столбец, который есть арифметичкое выражение предыдущих столбцов?
ниче не понял. у вас что $result1 что $result4 хранит одни и теже данные? тоесть однозначно $result1 === $result4 ? нафига тогда делать четыре одинаковых запроса, которые дают одно и тоже
Угу, такое впечатление что сохранить результат(ы) в переменную а потом ее выводить тебе религия не позволяет
можно На мой взгляд правильнее Вам сделать один запрос к базе данных и записать его в массив, который после использовать, потому как каждое обращение к базе - это дополнительная нагрузка на базу и снижение общей производительности. Да можно SELECT (B + A * 3) as C, ... FROM ....
я чукча, и не рилигиозный ! был бы рад, но еще не знаю как. ты наверное имеешь ввиду тоже самое,что и ок, попробую, пошел инфу искать..... вот именно поэтому я начат эту тему это для вывода ..... как я понял, архитектура SQL не позволяет такое сделать, чтобы при вводе других столбцов изменялись данные третьего. прийдется делать ввод через пхп в столбеч как арифмет.выражение.
А еще в php есть куча управляющих структур(акромя while), т.е. если продумать нормальную логику, то мне каца что можно обойтись одним правильно написаным запросом к DB и несколькими условиями для вывода информации
Нужна полная постановка задачи, а не то что та написал Select .... Select .... Select .... Select .... While..... и т.д.
1. таблица вывода выгдялит так: --------------------------------------------------- |Фирма | общий тариф | залог | сумма | |---------------------------------------------------| |__F____|____T_______|___Z_| T+Z__ | --->тут вывод всех по цыклу |--------------------------------------------------| |Фирма | особый тариф | залог | сумма | |--------------------------------------------------| |__F____|____OT______|___Z_|_OT+Z | --->тут вывод всех по цыклу 2. надо выделить ячейку, а лучше TR, с самой малеькой Суммой. 3. можно без выделения, если будет сортировка по возрастанию СУММЫ. DB выглядит так : F | T | OT | Z | id
Граждане, я что-то не въезжаю. Тут все еще говорят про PHP: $query = "SELECT * FROM MYTABLE "; $result1 = mysql_query($query) or die("Query failed : " . mysql_error()); $result2 = mysql_query($query) or die("Query failed : " . mysql_error()); $result3 = mysql_query($query) or die("Query failed : " . mysql_error()); $result4 = mysql_query($query) or die("Query failed : " . mysql_error()); ?
Господа, как я понял mysql_data_seek перекидывает указатель на определённую строку(запись) ДБ-таблицы (если не прав то поправте), поэтому тут mysql_data_seek не нужет, т.к. вывод идеть в 1 и 2 таблице(на вэб-странице) ВСЕХ элементов(всех строк или записей,кому как угодно), только выводятся разные столбцы из этих ДБ-таблиц.
ключевая фраза выделена. PHP: <? $query = "SELECT * FROM MYTABLE "; $result = mysql_query($query) or die("Query failed : " . mysql_error()); while($row = mysql_fetch_object($result)) {....} //..... mysql_data_seek($result,0); while($row = mysql_fetch_object($result)) {....} //..... mysql_data_seek($result,0); while($row = mysql_fetch_object($result)) {....} //...... mysql_data_seek($result,0); while($row = mysql_fetch_object($result)) {....} //.... ?>
:lol: а.....так вот ты какой, Северный олень.... :wink: теперь понятно, почему вывод был не такой, как желалось. я думал, что при повторном использовании быдет все строки , начиная с id 1 и до конца прочитаны.... теперь понятно, что там "указатель" остается снизу. :twisted: Спасибки за настойчивость, что несмотря на 4 ответа, еще раз написали.
я вот думаю а не завести ли форум для извращенцев, которые садаться писать, абсолютно не понимая что делают, и не читают мануал в принципе?
если там такие как ты будут на вопросы отвечать, то почему бы и нет! :twisted: если человек только начинает проект, то он не может все подподрят читать, т.к. инфы ужасно много. все приходит со временем. Извращенцы скорее всего те, кто над "извращенцами" извращается! и не надо флудить не по теме :!: