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 :: Как сделать выборку в MySQL [3]

 PHP.SU

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


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

> Описание: чтобы при помощи гиперссылок можно было вызвать то или иное значение
August_II
Отправлено: 09 Декабря, 2014 - 16:42:18
Post Id


Новичок


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


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




У меня не выходит, у меня не в отдельных файлах всё а в одном
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $name_site = $site;
  3. if(isset($_GET['name_site'])){
  4. $name_site = $_GET['name_site'];
  5. }
  6.  
  7. $result = mysql_query("SELECT DISTINCT site FROM  tbl_otcash");
  8.         echo "<div id=\"menu_dist\"><ul>";
  9. while ($myrow = mysql_fetch_array($result)){
  10.         echo "<li>";
  11.         echo "<a href='select-distinct.php?page=".$myrow['site']."'>".$myrow['site']."</a></li>";
  12. }
  13.         echo "</ul></div>";
  14. ?>
  15. <?PHP
  16. if(isset($_GET['page'])){
  17. $name_site = $_GET['page'];
  18. }
  19.        
  20. $res = mysql_query("SELECT * FROM tbl_otcash WHERE 'site' = $name_site");
  21. while ($myrow = mysql_fetch_array($res)){
  22.         echo "<a href=".$res['url']."><img src=".$res['img']." title=".$res['set_name'].", ".$res['model_name']." /></a>";
  23. }
  24. ?>

(Отредактировано автором: 09 Декабря, 2014 - 16:43:11)

 
 Top
Panoptik
Отправлено: 09 Декабря, 2014 - 16:53:49
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




давайте не путать мухи и котлеты в одну кучу

ответьте на несколько вопросов, после возможно вам помогут если ответы будут правильными

1) что вам нужно сделать? (ответ должен поместиться в одно предложение без примеров существующего кода)
2) что вы знаете о суперглобальных массивах $_GET, $_POST и откуда они берутся?
3) как выбрать с базы данных набор данных?
4) можете ли вы самостоятельно найти ответы на эти и последующие вопросы?
5) что вам мешает это сделать?


-----
Just do it
 
 Top
August_II
Отправлено: 09 Декабря, 2014 - 21:12:42
Post Id


Новичок


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


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




В общем есть два файла

LIST.PHP
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ('../conf/config.php');
  3. ?>
  4. <!doctype html>
  5. <html>
  6. <head>
  7. <meta charset="windows-1251">
  8. <title>Документ без названия</title>
  9. </head>
  10.  
  11. <body>
  12. <ul>
  13. <?PHP
  14.         // SQL-запрос
  15.         $strSQL = "SELECT DISTINCT site FROM tbl_otcash ORDER BY site";
  16.  
  17.         // Выполнить запрос (набор данных $rs содержит результат)
  18.         $rs = mysql_query($strSQL);
  19.        
  20.         // Цикл по $rs
  21.         while($row = mysql_fetch_array($rs)) {
  22.  
  23.            // Название сайта
  24.           $strName = $row['site'] ;
  25.  
  26.            // Создать ссылку на site.php с id-value в URL
  27.            $strLink = "<a href = 'site.php?site=" . $row['site'] . "'>" . $strName . "</a>";
  28.  
  29.             // Листинг ссылок
  30.            echo "<li>" . $strLink . "</li>";
  31.  
  32.           }
  33.  
  34.         // Закрыть соединение с БД
  35.         mysql_close();
  36. ?>
  37. </ul>
  38. </body>
  39. </html>


SITE.PHP
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include ('../conf/config.php');
  3. ?>
  4. <!doctype html>
  5. <html>
  6. <head>
  7. <meta charset="windows-1251">
  8. <title>Документ без названия</title>
  9. </head>
  10.  
  11. <body>
  12. <div>
  13.  
  14.         <?PHP
  15.         // Получить данные из БД, в зависимости от значения site в URL
  16.         $strSQL = "SELECT * FROM tbl_otcash WHERE site=".$_GET['site'];
  17.         $rs = mysql_query($strSQL);
  18.        
  19.         // Цикл по $rs
  20.         while($row = mysql_fetch_array($rs)) {
  21.  
  22.                 // Записать данные site
  23.                 echo "<a href=".$row['url'].">";
  24.                 echo "<img src=" .$row['img']. " />";
  25.                 echo "</a>";
  26.  
  27.         }
  28.  
  29.         // Закрыть соединение с БД
  30.         mysql_close();
  31.         ?>
  32.  
  33.         </div>
  34.         <p><a href="list.php">Return to the list</a></p>
  35. </body>
  36. </html>


Вылезает такая ошибка Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in. Что делать? Подскажите где ошибка
 
 Top
esterio
Отправлено: 10 Декабря, 2014 - 01:52:57
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




Panoptik пишет:
4) можете ли вы самостоятельно найти ответы на эти и последующие вопросы?
August_II пишет:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

3 страницы обсуждения. даная ошибка связана с тем, что у вас ошибка в самом SQL запросе. поетому mysql_query возвращает false, что не являеться типом переменной ресурс, который вас любязно просит mysql_fetch_result

даная ошибка гуглитсья за 5 минут.
решение: нужно првоерять что возвращает mysql_query и исправить запрос

в ващем же случае похоже на то что site строка. а строкы нужно обрамлят в кавички.
Цитата:
SELECT * FROM tbl_otcash WHERE site="site"

если пойти еще дальше то такой запрос являеться не безопасним, поетому немного модиіиуировав получаем
PHP:
скопировать код в буфер обмена
  1. $strSQL = 'SELECT * FROM tbl_otcash WHERE site="'.mysqll_real_escape_string($_GET['site']).'"';

в описании говориться о том что она екранирует строкы, чтобы защитить от SQL иньекций.

Если пойти еще дальше то модуль mysql_* уже устарел и уже давно не рекомендуется к использованию. на замену пришли аж целых ДВА модуля mysqli и PDO.
Если вы еще новичек, то рекомендую использовать mysqli. он имеет процедурный интерфейс очень похожый на тот древний костиль под названием mysql который вы используете. единое отличие в том, что первым аргументом всегда должен быть ресурс на соединение, которое возвращает функция mysqli_connect
теперь при использовании не устарелого модуля можно возвользоваться так називаемой фичей "подготовленые запросы". что єто за монстр обьясняю: данные отсилаються отдельно от запроса/
как готовить даную кухню отлично описано в документации http://php.net/manual/en/mysqli-...t.get-result.php здесь. там найдете пример в процедурном стиле.

про все это гугл видает 100500 результатов. поетому перед тем как задавать вопроси поищите сначала ответ. вы будете удивлены, но в 95% случаев вам даже не придеться задавать вопрос, потому как ответ вы найдете. я гарантирую это.
в заключении скажу что подход с поиском дает еще бонусный профит. большинство разработчиков не все знают. они прост оумеют искать нужную им информацию. они занють только то что есть такая технология и испольщуетсья она вот в таких случаях.
также настоятельно рекомендую заглядивать в документацию. в этом нет ничего постидного. я после 3 лет працтики все равно туда иногда заглядиваю. потому что все помнит невозможно.

также научиться дебажить ваше приложение. это отилчно описано в этой статье http://phpfaq[dot]ru/debug

удачи

(Отредактировано автором: 10 Декабря, 2014 - 01:59:40)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB