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
Форумы портала PHP.SU :: Версия для печати :: Помогите найти id
Форумы портала PHP.SU » » Работа с СУБД » Помогите найти id

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

1. andreya - 12 Июня, 2011 - 15:23:33 - перейти к сообщению
Есть такой цикл которые данные с базы вытягивает. Получается две колонки с заполнеными из БД полями а в третьей колонке кнопка (отправить).
Вопрос:
Как найти id элемента (строки полностью), что бы можно было с ней работать, допустим ее сохранить в сессию по нажатию той кнопки. Спасибо заранее. Жду ответов.
<?php
do {
printf ("<table class='tables' border='1' cellpadding='0' cellspacing='0'>
<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>

</table>", $myrow["name"], $myrow["dlina"], $myrow["price"] );
}

while ($myrow = mysql_fetch_array($tovar));

?>
2. Давит - 12 Июня, 2011 - 15:36:07 - перейти к сообщению
3. andreya - 12 Июня, 2011 - 15:38:53 - перейти к сообщению
Давит пишет:

Спасибо огромное. А можно еще вопрос? Как кнопку которая в последней колонке выводиться заставить выводить именно строку эту которую нашли?
Спасибо!!!!!!!
4. Давит - 12 Июня, 2011 - 15:48:04 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. do {
  3. printf ("<table class='tables' border='1' cellpadding='0' cellspacing='0'>
  4. <tr>
  5. <td>%s</td>
  6. <td>%s</td>
  7. <td>%s</td>
  8. <td>%s</td>
  9. </tr>
  10.  
  11. </table>", $myrow["name"], $myrow["dlina"], $myrow["price"],$myrow["id"] );
  12. }
  13.  
  14. while ($myrow = mysql_fetch_array($tovar));
  15.  
  16. ?>
5. andreya - 12 Июня, 2011 - 15:53:59 - перейти к сообщению
Да но, как на кнопку сделать что бы она при нажатии хватала это id и что то с ним делала?
Функцию обработки как на кнопку поставить?
Подскажите пожалуйста!!!!
6. Давит - 12 Июня, 2011 - 15:58:03 - перейти к сообщению
andreya
уточните что именно нужно?,
7. andreya - 12 Июня, 2011 - 16:04:33 - перейти к сообщению
Спасибо за то что возитесь со мной!!!
В этой таблице в первых двух колонках информация (из базы прямо код html) вытаскивается.
В третьей колонке (опять же unput html кнопка) подставляется.
Хотелось бы что бы при нажатии на эту кнопку что то происходило с id (со строкой полностью без кнопки) допустим оно сохранялось в сессии либо приплюсовывалось к переменной.
То есть при нажатии кнопки php понимает какой именно id строки был нажат и дает с ним работать. И мне непонятно куда этот функцию нажатия кнопки вставить в код.
8. DeepVarvar - 12 Июня, 2011 - 16:07:06 - перейти к сообщению
andreya если в таблице нет ни одной записи ваш php-код сгенерирует Warning. переделайте цикл do {.....} while(...);
в while (...) {.....}
9. andreya - 12 Июня, 2011 - 16:09:12 - перейти к сообщению
Таблица не будет пуста. Ибо заполнена изначально. Цикл необходим такой. Мне бы про кнопку - как ей сказать что бы она с id строки работала...
10. DeepVarvar - 12 Июня, 2011 - 16:14:32 - перейти к сообщению
Если вы решили делать именно input - тогда будьте добры пишите полностью:
CODE (html):
скопировать код в буфер обмена
  1. <form action="script.php" method="get">
  2.   <input type="hidden" value="<?=$myrow['id']?>" />
  3.   <input type="submit" value=" Go " />
  4. </form>

И так для каждой кнопки в каждой ячейке...
Но я бы отказался от этого геморроя и написал бы простой ссылкой, которую всегда можно оформить в виде кнопки с помощью CSS:
CODE (html):
скопировать код в буфер обмена
  1. a href="script.php?id=<?=$myrow['id']?>">Go</a>
11. OrmaJever - 12 Июня, 2011 - 16:16:03 - перейти к сообщению
andreya Может я слепой но где там кнопка? Однако
andreya пишет:
PHP:
скопировать код в буфер обмена
  1. printf ("<table class='tables' border='1' cellpadding='0' cellspacing='0'>
  2. <tr>
  3. <td>%s</td>
  4. <td>%s</td>
  5. <td>%s</td>
  6. </tr>
  7.  
  8. </table>", $myrow["name"], $myrow["dlina"], $myrow["price"] );
12. DeepVarvar - 12 Июня, 2011 - 16:18:31 - перейти к сообщению
andreya пишет:
Цикл необходим такой.
т.е. каждый раз необходимо сделать одну итерацию??? А если вы будете из базы в последствии выбирать по условию и не найдете ни одной строки - скрипт выведет пустую строку (хотя бы один раз изза do сработает).
Но дело ваше - обожжетесь позднее, главное вспомните то что вам говорили.
13. Давит - 12 Июня, 2011 - 16:21:25 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     do {
  3.     printf ("<table class='tables' border='1' cellpadding='0' cellspacing='0'>
  4.    <tr>
  5.    <td>%s</td>
  6.    <td>%s</td>
  7.    <td>%s</td>
  8.    <td>    <form action='xxx.php' method='post'>
  9.    <input type='hidden' name='id' value='%s' />
  10.    <input type='submit' name='submit' value='кнопка' />
  11.    </form></td>
  12.    </tr>
  13.    
  14.    </table>", $myrow["name"], $myrow["dlina"], $myrow["price"],$myrow["id"] );
  15.     }
  16.      
  17.     while ($myrow = mysql_fetch_array($tovar));
  18.      
  19.     ?>
  20. в файле xxx.php получаем  $myrow["id"]
  21. <?PHP
  22. if(isset($_POST['id']))
  23. $id = (int)$_POST['id'];
  24. //вводим на екран
  25. echo $id;
  26. ?>
14. andreya - 12 Июня, 2011 - 16:53:19 - перейти к сообщению
[quote=DeepVarvar][/quote]Таблица не будет пуста. Ибо заполнена изначально. Цикл необходим такой. Мне бы про кнопку - как ей сказать что бы она с id строки работала...
Jxytm неплохо. пусть будет ссылка. А как сделать что бы при нажатии этой ссылки этот id строки добавлялся в сессию? И далее можно было бы работать с id других строк что бы и их добавить если что. Ну то есть нажали ссылку на одной строке. Она попала в сессию - сохранилась. Нажали на второй строке и тоже самое. Совсем не могу понять.
15. DeepVarvar - 12 Июня, 2011 - 16:54:52 - перейти к сообщению
andreya пишет:
Она попала в сессию - сохранилась. Нажали на второй строке и тоже самое.
Не удалив предыдущую???

 

Powered by ExBB FM 1.0 RC1