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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
umochka
Отправлено: 26 Апреля, 2015 - 19:28:43
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2015  


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




Добрый вечер!!! Возникла следующая проблема:
У меня есть 2 таблицы "ucheniki"(iduch, familiya, imya, otchestvo, ......), "ocenki" (idocenka,iduch, idpredmet, data, ocenka, kommentari) и "predmets" (idpredmet, predmetname). При выводе формы со списком всех учеников возле каждого ученика есть ссылка ""Оценки". Как сделать, чтобы при нажатии каждой ссылки выводились оценки ученика сгруппированные по предметам и дате?
 
 Top
DeepVarvar Супермодератор
Отправлено: 26 Апреля, 2015 - 19:39:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




На отдельной странице, или в каком-нить попапе аяксом, что, в любом случае должно быть сделано отдельным запросом на сервер. Ибо незачем делать из точек доступа комбайны и кашу.
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 20:29:58
Post Id


Посетитель


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


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

[+]


А шо нельзя через гет запрос передавать фамилия мученика, и потом делать выборку
CODE (SQL):
скопировать код в буфер обмена
  1. WHERE `familiya`='$familiya'

??????????
 
 Top
umochka
Отправлено: 26 Апреля, 2015 - 20:34:28
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2015  


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




file.shreder
Вот, что у меня на данный момент:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require ('sta.inc.php');
  3. require ('mysql_connect.php');  
  4. $select = 'SELECT concat(familiya, imya, otchestvo) as name FROM ucheniki WHERE iduch='.$_GET['id'];
  5.   $res = mysql_query( $select );
  6.   $assoc = mysql_fetch_assoc( $res );
  7.   echo '<form action="'.$_SERVER['PHP_SELF'].'?action=update&id='.$_GET['id'].'" method="POST">';
  8.   echo '<table><tr>';
  9.    
  10.   echo '<td><p align="left">Ученик:  </p></td>';
  11.  
  12.   echo '<td><p><input type="text" name="familiya" value="'.$assoc['name'].'"></p></td>';
  13.   echo '</tr>';
  14.  
  15. echo '<table width="378"><tr><td height="70"><p><input type="submit" name="vivod" value="Вывести оценки">';
  16.  
  17. if ( isset($_POST['vivod']) ) {
  18. $select1 = 'SELECT * FROM ocenki WHERE iduch='.$_GET['id']  ;
  19. $res1 = mysql_query( $select1 );
  20.  
  21.   $assoc1 = mysql_num_rows( $res1 );
  22.   if ($assoc1==0)
  23. {echo '<h2>Записей нет</h2>'; }
  24. else
  25. {
  26.  
  27.  echo '<h2 style = "color : red">Оценки</h2>';
  28.  echo '<table width = 100% border = 1>
  29. <tr heigth = 7%><th width = 5%><p class = "zag">№п.п</p></th>
  30. <th width = 10%><p class = "zag">Предмет</p></th>
  31. <th width = 10%><p class = "zag">Дата</p></th>
  32. <th width = 27%><p class = "zag">Оценка</p></th>
  33. <th width = 15%><p class = "zag">Комментарий</p></th></tr>';
  34.  
  35. //заполняем таблицу постепенно обрабатывая запрос
  36. $i = 1;
  37. while ($row = mysql_fetch_array($res1))
  38. {
  39. echo '<tr>';
  40. echo "<td><p class = 'small'>$i</p></td>
  41. <td><p class = 'small'>$row[2]</p></td>
  42. <td><p class = 'small'>$row[3]</p></td>
  43. <td><p class = 'small'>$row[4]</p></td>
  44. <td><p class = 'small'>$row[5]</p></td>";
  45.  
  46.  
  47.  
  48.  
  49. echo '</tr>';
  50. $i++;
  51. };
  52. echo '</table>';
  53. }
  54. }
  55. ?></td>
  56. </tr>
  57. <tr height = 10%><td></td></tr>
  58. </table>
  59. </body>
  60. </html>
  61.  

Он вместо названия предмета выводит его id
 
 Top
file.shreder
Отправлено: 26 Апреля, 2015 - 21:57:55
Post Id


Посетитель


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


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

[+]


у тебя же row[2] идет идпредмета а не предметнейм, предмет ейм у тебя в таблице "predmets"
 
 Top
umochka
Отправлено: 26 Апреля, 2015 - 22:14:23
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2015  


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




file.shreder Ну, вот как-то так. Если я вместо 2 пишу predmetname, то выводится ошибка:Notice: Undefined index: predmetname in C:\xampp\htdocs\ocenki.php on line 42.
Скачать файл: Desktop.rar
Скачан раз: 15
 
 Top
file.shreder
Отправлено: 27 Апреля, 2015 - 08:15:35
Post Id


Посетитель


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


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

[+]


umochka пишет:
file.shreder Ну, вот как-то так. Если я вместо 2 пишу predmetname, то выводится ошибка:Notice: Undefined index: predmetname in C:\xampp\htdocs\ocenki.php on line 42.


так ты походу не изтой таблицы делаешь выборку, вернее выборка из одной, а обрабатываешь поля из другой.... Умочка Улыбка так я думаю....
 
 Top
umochka
Отправлено: 27 Апреля, 2015 - 08:53:20
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2015  


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




file.shreder Все заработало. Только вот конкат не знаю как оформить, чтобы пробелы между familiya, imya и otchestvo были. Если делаю так:
PHP:
скопировать код в буфер обмена
  1.  $select = 'SELECT concat(familiya, '', imya, '', otchestvo) as name FROM ucheniki WHERE iduch='.$_GET['id'];

Ругается из-за кавычек.
 
 Top
file.shreder
Отправлено: 27 Апреля, 2015 - 09:21:18
Post Id


Посетитель


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


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

[+]


umochka пишет:
file.shreder Все заработало. Только вот конкат не знаю как оформить, чтобы пробелы между familiya, imya и otchestvo были. Если делаю так:
PHP:
скопировать код в буфер обмена
  1.  $select = 'SELECT concat(familiya, '', imya, '', otchestvo) as name FROM ucheniki WHERE iduch='.$_GET['id'];

Ругается из-за кавычек.

там такая дримучия база!!!!! можно же все проще сделать было!!!
 
 Top
umochka
Отправлено: 27 Апреля, 2015 - 09:26:36
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2015  


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




file.shreder Почему дремучая?
 
 Top
file.shreder
Отправлено: 27 Апреля, 2015 - 09:28:46
Post Id


Посетитель


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


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

[+]


umochka пишет:
file.shreder Почему дремучая?

откуда ж я знаю... там все эти связи можно было бы и без всех этих FOREIGN сделать я думаю
(Добавление)
а что тут?

sta.inc.php
(Добавление)
'SELECT familiya, imya, otchestvo FROM ucheniki WHERE iduch='.$_GET['id']; пробуй так просто выбирать
(Добавление)
а пробел ты всегда можешь в echo и без выборки между ними вставить... если он для этого нужен, я не понимаю просто такой выборки... зачем выбирать пробел
 
 Top
umochka
Отправлено: 27 Апреля, 2015 - 09:41:33
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2015  


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




file.shreder То есть все foreign можно убрать? В sta.inc.php находится код:
PHP:
скопировать код в буфер обмена
  1. <head>
  2. <title>...... средняя школа</title>
  3. <link rel = 'stylesheet' type = 'text/css' href = 'style.css'>
  4. <style type="text/css">
  5. <!--
  6. .стиль7 {
  7.         font-family: "Courier New", Courier, monospace;
  8.         font-weight: bold;
  9.         color: #0066FF;
  10.         font-style: italic;
  11.         font-size: 32pt;
  12. }
  13. -->
  14. </style>
  15. </head>
  16. <body>
  17. <h1 align="center" class="стиль1  стиль7">..... средняя школа</h1>
  18. <table width = 78% height = 17% align="center" valign = top>
  19. <tr>
  20.     <td width = 72% height="53" align="center" valign = top><p align="center" style = 'text-indent : 0pt; font-size : 12pt'> <a href = 'lookuch.php?part=all'>Ученики</a> <a href = 'lookklassi.php'>Классы</a> <a href = 'lookuchitelya.php'>Учителя</a> <a href = 'lookpredm.php'>Предметы</a> <a href = 'lookuroki.php'>Уроки</a> <a href = 'lookoc.php'>Оценки</a> <a href = 'lookotch.php'>Отчеты</a> <a href = 'lookpubl.php'>Публикация</a> <a href = 'lookpols.php'>Пользователи</a> <a href = 'index.htm'>Главная страница</a></p></td>
  21.   </tr>
  22. </table>
  23. <table width = 100% height = 80% valign = top>
  24. <tr>
  25. <td width="50%">
Чтобы не прописывать каждый раз в каждом файле.
 
 Top
file.shreder
Отправлено: 27 Апреля, 2015 - 10:18:57
Post Id


Посетитель


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


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

[+]


кодировка еще -latin1
 
 Top
umochka
Отправлено: 29 Апреля, 2015 - 09:50:21
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Апр. 2015  


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




file.shreder Может подскажешь по следующему вопросу? При добавлении нового ученика в базу помимо полей таблицы "ucheniki"(iduch, familiya, imya, otchestvo, bd, ofpred,tel,adress, dop, idklass) в форме заполняется поле "Класс" выпадающим списком из таблицы "klassi". При редактировании ученика не проходит запрос на обновление.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. require ('sta.inc.php');
  3. require ('mysql_connect.php');
  4.   echo '<h2>Редактирование</h2>';
  5.   $select = 'SELECT familiya, imya, otchestvo, bd, ofpred, tel, adress, dop, nomerbukva FROM ucheniki, klassi WHERE ucheniki.idklass= klassi.idklass AND iduch='.$_GET['id'];
  6.   $res = mysql_query( $select );
  7.   $assoc = mysql_fetch_assoc( $res );
  8.  
  9.   echo '<form action="'.$_SERVER['PHP_SELF'].'?action=update&id='.$_GET['id'].'" method="POST">';
  10.   echo '<table>';
  11.   echo '<tr>';
  12.  
  13.   echo '<td><p>Фамилия: </p></td>';
  14.  
  15.   echo '<td><p><input type="text" name="familiya" value="'.$assoc['familiya'].'"></p></td>';
  16.   echo '</tr>';
  17.   echo '<tr>';
  18.  
  19.   echo '<td><p>Имя: </p></td>';
  20.  
  21.   echo '<td><p><input type="text" name="imya" value="'.$assoc['imya'].'"></p></td>';
  22.   echo '</tr>';
  23.   echo '<tr>';
  24.  
  25.   echo '<td><p>Отчество: </p></td>';
  26.  
  27.   echo '<td><p><input type="text" name="otchestvo" value="'.$assoc['otchestvo'].'"></p></td>';
  28.   echo '</tr>';
  29.   echo '<tr>';
  30.  
  31.   echo '<td><p>Дата рождения: </p></td>';
  32.  
  33.   echo '<td><p><input type="text" name="bd" value="'.$assoc['bd'].'"></p></td>';
  34.   echo '</tr>';
  35.   echo '<tr>';
  36.  
  37.   echo '<td><p>Офф. представитель: </p></td>';
  38.  
  39.   echo '<td><p><input type="text" name="ofpred" value="'.$assoc['ofpred'].'"></p></td>';
  40.   echo '</tr>';
  41.   echo '<tr>';
  42.  
  43.   echo '<td><p>Телефон: </p></td>';
  44.  
  45.   echo '<td><p><input type="text" name="tel" value="'.$assoc['tel'].'"></p></td>';
  46.   echo '</tr>';
  47.   echo '<tr>';
  48.  
  49.   echo '<td><p>Адрес: </p></td>';
  50.  
  51.   echo '<td><p><input type="text" name="adress" value="'.$assoc['adress'].'"></p></td>';
  52.   echo '</tr>';
  53.   echo '<tr>';
  54.   echo '<tr>';
  55.  
  56.   echo '<td><p>Доп. информация: </p></td>';
  57.  
  58.   echo '<td><p><input type="text" name="dop" value="'.$assoc['dop'].'"></p></td>';
  59.   echo '</tr>';
  60.   echo '<tr>';
  61.  
  62.   echo '<tr><td><p>Класс </p></td><td><p><select name="nomerbukva" type="text" value="'.$assoc['nomerbukva'].'"></p>';
  63.    
  64. $r=mysql_query("select nomerbukva from klassi");
  65. while ($row=mysql_fetch_array($r)) {
  66.  
  67.    echo "<option value='".$row['nomerbukva']."'>".$row['nomerbukva']."</option>"; ?>
  68.    <?PHP
  69. }
  70. ?>
  71.  </select></td></tr></table>  <table width="378"><tr>
  72.   <td height="70"><p>
  73.     <input type="submit" name="save" value="Сохранить">
  74.  
  75. <?PHP
  76. echo '<td><p><button type="button" onClick="history.back();">Отменить</button></p></td>';
  77.   echo '</tr>';
  78.   echo '</table>';
  79.   echo '</form>';
  80.  if ( isset($_POST['save']) ) {
  81.  echo '<h2 style = "color : red">Запись обновлена</h2>';
  82.   $familiya = mysql_real_escape_string( $_POST['familiya'] );
  83.   $imya = mysql_real_escape_string( $_POST['imya'] );
  84.   $otchestvo = mysql_real_escape_string( $_POST['otchestvo'] );
  85.   $bd = mysql_real_escape_string( $_POST['bd'] );
  86.   $ofpred = mysql_real_escape_string( $_POST['ofpred'] );
  87.   $tel = mysql_real_escape_string( $_POST['tel'] );
  88.   $adress = mysql_real_escape_string( $_POST['adress'] );
  89.   $dop = mysql_real_escape_string( $_POST['dop'] );
  90.   $nomerbukva = mysql_real_escape_string( $_POST['nomerbukva'] );
  91.  $update = "UPDATE ucheniki SET familiya='".$familiya."', imya='".$imya."', otchestvo='".$otchestvo."', bd='".$bd."', ofpred='".$ofpred."', tel='".$tel."', adress='".$adress."', dop='".$dop."', idklass='".$nomerbukva."' FROM ucheniki, klassi
  92.            WHERE  ucheniki.idklass= klassi.idklass AND iduch=".$_GET['id'];
  93.   mysql_query ( $update );
  94.  
  95.  
  96.  
  97. }
  98.   ?>
 
 Top
file.shreder
Отправлено: 29 Апреля, 2015 - 12:48:35
Post Id


Посетитель


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


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

[+]


вот это
PHP:
скопировать код в буфер обмена
  1. $update = "UPDATE ucheniki SET familiya='".$familiya."', imya='".$imya."', otchestvo='".$otchestvo."', bd='".$bd."', ofpred='".$ofpred."', tel='".$tel."', adress='".$adress."', dop='".$dop."', idklass='".$nomerbukva."' FROM ucheniki, klassi
  2.           WHERE  ucheniki.idklass= klassi.idklass AND iduch=".$_GET['id'];
  3.   mysql_query ( $update );

можно писать так:

и вот это не понятно

откуда FROM в запросе UPDATE?
Сначала нужно вывести весь PHP а потом HTML, то есть код обрабатывающий ISSET($_GET['']) нужно вынести вместе с запросом до формы, ну и разобраться с самим запросом, что то ты Умочка там перемудрила... и еще это echo везде....

проще потом код читать когда сделано примено так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?if (isset($_GET['save'])) {
  3.  
  4.  
  5.  
  6.  
  7. }
  8. ?>
  9. <form.........................>
  10.  
  11.  
  12.  
  13.  
  14. </form><!-- Без всяких echo-->
  15.  
  16.  
  17.  

(Добавление)
И ты бы хоть ОШИБКУ ПОКАЗАЛА!!!!!

(Отредактировано автором: 29 Апреля, 2015 - 12:51:46)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB