Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Повторение вывода таблици

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Nooo
Отправлено: 28 Июня, 2011 - 09:27:10
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




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

У меня есть форма заказа от куда данные попадают в бд и дальше скрипт заказа переводит на просмотр заказанного, но у меня получается вывести только один заказ первый ,а мне нужно вывести все заказы данного пользователя, все что пробовал не что не помогает... Помогите пожалуйста..

Модуль просмотра:
PHP:
скопировать код в буфер обмена
  1.  
  2. $viewserv = $db->super_query("SELECT * FROM ".USERPREFIX."_server WHERE user='{$_SESSION['dle_user_id']}'");
  3.  
  4. $tpl->load_template( 'shop_view.tpl' );
  5.  
  6. $status_shop = $viewserv['status'];
  7.  
  8. if($status_shop == 1) {
  9.  
  10. $status_s = "<a href='/panel/'> Панель управления</a> | <a href='/oplata_2/'> Продлить</a> ";
  11. }
  12. else
  13. {
  14. $status_s = "<a href='/oplata/'> Оплатить</a>";
  15. }
  16.  
  17. $loca = $viewserv['locations'];
  18. $price = $viewserv['price'];
  19. $type_game = $viewserv['type_game'];
  20.  
  21. if($viewserv['type_server'] == 'privat') {
  22. $type_server = 'Приватный';
  23. }else{
  24. if($viewserv['type_server'] == 'pub'){
  25. $type_server = 'Публичный';
  26. }
  27. }
  28. if($viewserv['tarif'] == '15') {
  29. $tarif = 'ClanWar (15рублей 1 слот)';
  30. }else{
  31. if($viewserv['tarif'] == '20') {
  32. $tarif = 'Normal (20рублей 1 слот)';
  33. }else
  34. if($viewserv['tarif'] == '25') {
  35. $tarif = "GreatServer (25рублей 1 слот)";
  36. }
  37. }
  38.  
  39. $slots = $viewserv['slots'];
  40.  
  41.  
  42. $tpl->set( '{status_server}', $status_s);
  43. $tpl->set( '{loca}', $loca );
  44. $tpl->set( '{price}', $price );
  45. $tpl->set( '{type_game}', $type_game );
  46. $tpl->set( '{type_server}', $type_server );
  47. $tpl->set( '{tarif}', $tarif );
  48. $tpl->set( '{slots}', $slots );
  49. $tpl->compile( 'content' );
  50. $tpl->clear();
  51.  


Шаблон shop_view.tpl:
CODE (html):
скопировать код в буфер обмена
  1. <TABLE align="center" width="95%" border="1" cellspacing="0" cellpadding="0">
  2. <tr>
  3.       <td width="110" hight="150"><b> Локация сервера:</b></td>
  4.       <td> {loca}</td>
  5.     </tr>
  6.             <tr>
  7.       <td><b> Тип игры:</b></td>
  8.       <td> {type_game}</td>
  9.     </tr>
  10.             <tr>
  11.       <td><b> Тариф:</b></td>
  12.       <td> {tarif}</td>
  13.     </tr>
  14.         <tr>
  15.       <td><b> Тип сервера:</b></td>
  16.       <td> {type_server}</td>
  17.     </tr>
  18.         <tr>
  19.       <td><b> Слоты:</b></td>
  20.       <td> {slots}</td>
  21.     </tr>
  22.     <tr>
  23.       <td><b> Цена сервера: </b></td>
  24.       <td> {price} рублей</td>
  25.     </tr>
  26.         <tr>
  27.       <td><b> Статус:</b></td>
  28.       <td> {status_server} </td>
  29.     </tr>
  30. </TABLE>
  31. <br>

(Отредактировано автором: 28 Июня, 2011 - 09:59:23)

 
 Top
Саныч Модератор
Отправлено: 28 Июня, 2011 - 10:04:08
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




1. для таких вещей есть switch
PHP:
скопировать код в буфер обмена
  1. if($viewserv['tarif'] == '15') {
  2. $tarif = 'ClanWar (15рублей 1 слот)';
  3. }else{
  4. if($viewserv['tarif'] == '20') {
  5. $tarif = 'Normal (20рублей 1 слот)';
  6. }else
  7. if($viewserv['tarif'] == '25') {
  8. $tarif = "GreatServer (25рублей 1 слот)";
  9. }
  10. }
  11.  
  12. //правильно
  13. switch ($viewserv['tarif']) {
  14.    case '15': $tarif = 'ClanWar (15рублей 1 слот)'; break;
  15.    case '20': $tarif = 'Normal (20рублей 1 слот)';
  16.    case '25': $tarif = "GreatServer (25рублей 1 слот)";
  17. }


2. Потерянные кавычки
PHP:
скопировать код в буфер обмена
  1. $tpl->set( '{test}', тест );
  2. $tpl->set( '{test}', 'тест' );


3. Судя по вот таким записям $viewserv['status'] могу предложить следущее
PHP:
скопировать код в буфер обмена
  1. while($viewserv = $db->super_query("SELECT * FROM ".USERPREFIX."_server WHERE user='{$_SESSION['dle_user_id']}'")) {
  2.    $tpl->load_template( 'shop_view.tpl' );
  3.    $status_shop = $viewserv['status'];
  4.    if($status_shop) {
  5.       $status_s = "<a href='/panel/'> Панель управления</a> | <a href='/oplata_2/'> Продлить</a> ";
  6.    } else {
  7.       $status_s = "<a href='/oplata/'> Оплатить</a>";
  8.    }
  9.    $loca = $viewserv['locations'];
  10.    $price = $viewserv['price'];
  11.    $type_game = $viewserv['type_game'];
  12.    $type_server = $viewserv['type_server'] == 'privat' ? 'Приватный' : 'Публичный';;
  13.    switch ($viewserv['tarif']) {
  14.       case '15': $tarif = 'ClanWar (15рублей 1 слот)'; break;
  15.       case '20': $tarif = 'Normal (20рублей 1 слот)';
  16.       case '25': $tarif = "GreatServer (25рублей 1 слот)";
  17.    }
  18.    $slots = $viewserv['slots'];
  19.    $viewserv_c = 1;
  20.    do {
  21.       $tpl->set( '{test}', 'тест' );
  22.    } while( 10 > $viewserv_c++);
  23.    $tpl->set( '{status_server}', $status_s);
  24.    $tpl->set( '{loca}', $loca );
  25.    $tpl->set( '{price}', $price );
  26.    $tpl->set( '{type_game}', $type_game );
  27.    $tpl->set( '{type_server}', $type_server );
  28.    $tpl->set( '{tarif}', $tarif );
  29.    $tpl->set( '{slots}', $slots );
  30.    $tpl->compile( 'content' );
  31.    $tpl->clear();
  32. }

попробуйте

4. Для вот такого <td><b> Слоты:</b></td> лучше использовать <th>Слоты:</th>


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Nooo
Отправлено: 28 Июня, 2011 - 10:14:56
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




За это спасибо)
но теперь появилась другая ошибка.
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/login/data/www/login.ru /engine/classes/templates.class. php on line 36

Ой походу сервер у хоста лег Ниндзя

(Отредактировано автором: 28 Июня, 2011 - 10:19:45)

 
 Top
Саныч Модератор
Отправлено: 28 Июня, 2011 - 10:29:21
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




ну тогда я не знаю... в чужом коде вобще сложно разобраться, тем более в этом... Ведь на сколько я понял это даже не вы писали, верно?

Nooo пишет:
Ой походу сервер у хоста лег

нет, это не сервер, просто обработка кода заняла более 30 секунд

(Отредактировано автором: 28 Июня, 2011 - 10:34:23)



-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Nooo
Отправлено: 28 Июня, 2011 - 10:33:20
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




нет писал я,просто я делаю это как модуль для dle но с циклом проблема

Саныч пишет:
Nooo пишет:
Ой походу сервер у хоста лег

нет, это не сервер, просто обработка кода заняла более 30 секунд


да не у меня на этом сервера 2 сайта на разных аккаунтах оба лежат с ошибкой

504 Gateway Time-out
nginx

(Отредактировано автором: 28 Июня, 2011 - 10:41:04)

 
 Top
Nooo
Отправлено: 03 Июля, 2011 - 11:17:53
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




Все получилось организовать цикл, но теперь встала другая проблема которую не знаю как решить,теперь не работает вывод новой записи из базы, то есть если у меня в таблице 5 строк тон выводит только 4, как щас у меня на 1 акк заказаны сервера их ид равны 40-45 ,но выводит не 5 заказанных серверов а только 4 ,новый сервер который только что заказал(id 45 ) не отображается, можете помочь?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if( ! defined( 'DATALIFEENGINE' ) ) {
  3.         die( "Hacking attempt!" );
  4. }
  5. $viewserv = $db->query("SELECT * FROM ".USERPREFIX."_server WHERE user='{$_SESSION['dle_user_id']}'");
  6.  
  7.  
  8.  
  9. if($db->get_row($viewserv) > '0') {
  10. $row = $db->get_array($viewserv);
  11. do{
  12.  
  13.  $tpl->load_template( 'shop_view.tpl' );
  14.  
  15.         switch ($row['locations']) {
  16.       case 'xxx': $locations = 'MSK ЦОД xxxx.ru'; break;
  17.    }
  18.        
  19.         if($row['status'] == '1') {
  20. $status_s = "<a href='/panel/'> Панель управления</a> | <a href='/extend/$row[id_server]'> Продлить</a> ";
  21.         }else{
  22. $status_s = "<a href='/order/$row[id_server]/'> Оплатить</a>";
  23.         }
  24.  
  25. switch ($row['tarif']) {
  26.       case '15': $tarif = 'ClanWar (15рублей 1 слот)'; break;
  27.       case '20': $tarif = "Normal (20рублей 1 слот)"; break;
  28.       case '25': $tarif = "GreatServer (25рублей 1 слот)"; break;
  29.    }  
  30. $type_server = $row['type_server'] == 'privat' ? 'Приватный' : 'Публичный';;   
  31. $view = <<<HTML
  32.  <TABLE align='center' width='95%' border='1' cellspacing='0' cellpadding='0'>
  33.                 <tr>
  34.                   <td><b> ID сервера:</b></td>
  35.                   <td> # $row[id_server]</td>
  36.                   </tr>
  37.                 <tr>
  38.                   <td width='150' hight='150'><b> Локация сервера:</b></td>
  39.                   <td> $locations </td>
  40.                 </tr>
  41.                 <tr>
  42.                   <td><b> Тип игры:</b></td>
  43.                   <td> $row[type_game] </td>
  44.                   </tr>
  45.                   <tr>
  46.                   <td><b> Тариф:</b></td>
  47.                   <td> $tarif </td>
  48.                   </tr>
  49.                 <tr>
  50.                   <td><b> Тип сервера:</b></td>
  51.                   <td> $type_server </td>
  52.                   </tr>
  53.                 <tr>
  54.                   <td><b> Слоты:</b></td>
  55.                   <td> $row[slots] </td>
  56.                 </tr>
  57.                 <tr>
  58.                   <td><b> Цена сервера: </b></td>
  59.                   <td> $row[price] рублей </td>
  60.                 </tr>
  61.                 <tr>
  62.                   <td><b> Статус:</b></td>
  63.                   <td> $status_s </td>
  64.                 </tr>
  65.                 </TABLE><br>
  66. HTML;
  67.  
  68. $tpl->set('{shop_view}',$view);
  69.         $tpl->compile('content');
  70.         $tpl->clear();
  71.  
  72. } while( $row = $db->get_array($viewserv) );
  73.  
  74. }
  75.  
  76. ?>
 
 Top
vsll
Отправлено: 03 Июля, 2011 - 11:39:30
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




А если ещё раз обновить страницу, то данные по последнему заказу выводятся?
 
 Top
Nooo
Отправлено: 03 Июля, 2011 - 12:01:34
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




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

PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3.         include 'config/db.php';
  4.          
  5.         $viewserv1 = mysql_query("SELECT * FROM dle_server WHERE user='1'");
  6.  
  7.         if(isset( $_SESSION['user'])== $viewserv1['user'] ) {
  8.                
  9.                         echo 'Закажите хоть один сервер';
  10.        
  11.                
  12.                 }else {
  13.        
  14.                 if(mysql_num_rows($viewserv1) > 0){
  15.         $viewserv = mysql_fetch_array($viewserv1);
  16.        
  17.         do {
  18.        
  19.         switch ($viewserv['locations']) {
  20.       case 'xxxx': $locations = 'MSK ЦОД xxxx.ru'; break;
  21.    }
  22.        
  23.         if($viewserv['status'] == '1') {
  24. $status_s = "<a href='/panel/'> Панель управления</a> | <a href='/oplata_2/'> Продлить</a> ";
  25.         }else{
  26. $status_s = "<a href='/oplata/'> Оплатить</a>";
  27.         }
  28.          
  29.         switch ($viewserv['tarif']) {
  30.       case '15': $tarif = 'ClanWar (15рублей 1 слот)'; break;
  31.       case '20': $tarif = "Normal (20рублей 1 слот)"; break;
  32.       case '25': $tarif = "GreatServer (25рублей 1 слот)"; break;
  33.    }  
  34. $type_server = $viewserv['type_server'] == 'privat' ? 'Приватный' : 'Публичный';;      
  35. echo  <<<HTML
  36.  <TABLE align='center' width='800' border='1' cellspacing='0' cellpadding='0'>
  37.                 <tr>
  38.                   <td><b> Номер сервера:</b></td>
  39.                   <td> # $viewserv[id_server]</td>
  40.                   </tr>
  41.                 <tr>
  42.                   <td width='150' hight='150'><b> Локация сервера:</b></td>
  43.                   <td> $locations </td>
  44.                 </tr>
  45.                 <tr>
  46.                   <td><b> Тип игры:</b></td>
  47.                   <td> $viewserv[type_game] </td>
  48.                   </tr>
  49.                   <tr>
  50.                   <td><b> Тариф:</b></td>
  51.                   <td> $tarif </td>
  52.                   </tr>
  53.                 <tr>
  54.                   <td><b> Тип сервера:</b></td>
  55.                   <td> $type_server </td>
  56.                   </tr>
  57.                 <tr>
  58.                   <td><b> Слоты:</b></td>
  59.                   <td> $viewserv[slots] </td>
  60.                 </tr>
  61.                 <tr>
  62.                   <td><b> Цена сервера: </b></td>
  63.                   <td> $viewserv[price] рублей </td>
  64.                 </tr>
  65.                 <tr>
  66.                   <td><b> Статус:</b></td>
  67.                   <td> $status_s </td>
  68.                 </tr>
  69.                 </TABLE><br>
  70. HTML;
  71. }  while( $viewserv = mysql_fetch_array($viewserv1) );
  72. }
  73. }
  74.  

(Отредактировано автором: 03 Июля, 2011 - 12:03:33)

 
 Top
vsll
Отправлено: 03 Июля, 2011 - 12:12:23
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




Что-то я запуталась вообще, у вас после первой отправки (кнопка submit? или action?) данные данные в базу поступают? или только со второго раза?
 
 Top
Nooo
Отправлено: 03 Июля, 2011 - 12:15:33
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




через submit ,action="" пуст
PHP:
скопировать код в буфер обмена
  1. if($_POST['shop_server'] == "submit")
 
 Top
vsll
Отправлено: 03 Июля, 2011 - 12:29:14
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




значит где-то
PHP:
скопировать код в буфер обмена
  1. <a href='...shop_server=submit...' >

попробуйте с $_GET
 
 Top
Nooo
Отправлено: 03 Июля, 2011 - 12:40:59
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




думаю дело не в этом так как я вытащил скрипт из dle и он нормально работает,
(Добавление)
хех... прописал:
PHP:
скопировать код в буфер обмена
  1.  $del_serv = $db->query("DELETE FROM ".USERPREFIX."_server WHERE id_server='{$row['id_server']}'");

Самое главное удалились заказы которые отображались, а тот который висел в базе остался...
Я понял куда девается первый заказ, этот заказ формирует саму таблицу, именно если удалить все сервера пользователя то страница становится пустой, если заказать 1 сервер появляется пустая таблица, а если заказать 2й сервер появляются данные в таблице.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB