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 :: Версия для печати :: Не выводит результат в браузере
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Не выводит результат в браузере

Страниц (7): [1] 2 3 4 5 6 7 »
 

1. KuPbI4 - 29 Августа, 2010 - 23:49:33 - перейти к сообщению
описываю проблему
сама форма:
add.php
CODE (html):
скопировать код в буфер обмена
  1.  
  2.         <form action="add2.php" method="post">
  3.         <label>
  4.       Модель машины:<input type="text" name="model"/><br>
  5.           Год выпуска:<input type="text" name="year"/><br>
  6.           Место стоянки:<input type="text" name="mesto"/><br>
  7.           Пробег:<input type="text" name="probeg"/> км<br>
  8.           Цена:<input type="text" name="money"/> руб.<br>
  9.           <input type="submit" value="Добавить" name="add2"/>&nbsp;<input type="reset" value="Очистить"/><br>
  10.     </label>
  11.         </form>
  12.  

запрос SQL:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. CREATE TABLE `cars` (
  3. `model` varchar( 255 ) NOT NULL DEFAULT '0',
  4. `year` int( 11 ) NOT NULL  DEFAULT '0',
  5. `mesto` varchar( 255 ) NOT NULL DEFAULT '0',
  6. `probeg` int( 11 ) NOT NULL DEFAULT '0',
  7. `money` int( 11 ) NOT NULL DEFAULT '0',
  8. UNIQUE KEY `year`(`year`)
  9. ) TYPE=MyISAM AUTO_INCREMENT=1;
  10.  

add2.php - сам скрипт добавления
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $db=mysql_connect("localhost", "root", "") or die("Ошибка подключения");
  4. mysql_select_db("catalog", $db) or die("Не могу выбрать БД");
  5. mysql_query("SET NAMES UTF-8");
  6. $query="INSERT INTO cars ( model , year , mesto , probeg , money ) VALUES ('$model', '$year', '$mesto', '$probeg', '$money')";
  7. mysql_query($query);
  8. ?>
  9.  

catalog.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $db=mysql_connect("localhost", "root", "") or die("Ошибка подключения");
  4. mysql_select_db("catalog", $db) or die("Не могу выбрать БД");
  5. mysql_query("SET NAMES UTF-8");
  6. $q = mysql_query("SELECT * FROM catalog");
  7. echo "
  8. <p>Модель:$model</p>
  9. <p>Год выпуска:$year</p>
  10. <p>Место стоянки:$mesto</p>
  11. <p>Пробег:$probeg км</p>
  12. <p>Цена:$money руб</p>
  13. ";
  14. ?>

захожу в браузер http://ссылка_на_сайт/catalog.php
и вижу
Модель:
Год выпуска:
Место стоянки:
Пробег: км
Цена: руб
результат вообще никакой. не отображаются данные, хотя в пхпмайадмине глянул что добавляются данные
а вот в браузере не отображаются, где и что исправлять?!
2. SAD - 30 Августа, 2010 - 00:08:25 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. while ($b = mysql_fetch_array($a)) {
  2. echo "
  3.    <p>Модель:$b[model]</p>
  4.    <p>Год выпуска:$b[year]</p>
  5.    <p>Место стоянки:$b[mesto]</p>
  6.    <p>Пробег:$b[probeg] км</p>
  7.    <p>Цена:$b[money] руб</p>
  8. ";
  9. }
3. KuPbI4 - 30 Августа, 2010 - 00:18:32 - перейти к сообщению
пишет:
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in Z:\home\autolombard59.ru\www\catalog.php on line 55
указывает на
4. SAD - 30 Августа, 2010 - 00:19:51 - перейти к сообщению
не $a а $q поставьте
5. KuPbI4 - 30 Августа, 2010 - 00:28:38 - перейти к сообщению
Ставил, пишет:
Цитата:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\autolombard59.ru\www\catalog.php on line 55


а если
PHP:
скопировать код в буфер обмена
  1.  
  2.    <p>Модель:$b['model']</p>
  3.  

то
Цитата:

arse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\autolombard59.ru\www\catalog.php on line 57

где и что править?
6. JustUserR - 30 Августа, 2010 - 00:51:33 - перейти к сообщению
KuPbI пишет:
Unexpected T_ENCAPSED_AND_WHITESPACE
При интерполяции значения массива по заданному ключу внутри некоторой строки можно использовать различные виды обращения - в первом случае используется конструкция $arr[key] в которой строковые ключи указываются без кавычек и поэтому она может применяться только для значений индексов не использующих специальные символы - вторая конструкция является более универсальной типа {$arr["key"]} и по своему синтаксису эквивалента выражений из уровня PHP-кода за исключением экранирования фигурных скобок
7. KuPbI4 - 30 Августа, 2010 - 01:04:13 - перейти к сообщению
JustUserR пишет:
При интерполяции значения массива по заданному ключу внутри некоторой строки можно использовать различные виды обращения - в первом случае используется конструкция $arr[key] в которой строковые ключи указываются без кавычек и поэтому она может применяться только для значений индексов не использующих специальные символы - вторая конструкция является более универсальной типа {$arr["key"]} и по своему синтаксису эквивалента выражений из уровня PHP-кода за исключением экранирования фигурных скобок

Вы хотите сказать
PHP:
скопировать код в буфер обмена
  1.  <p>Модель:{$b["model"]}</p>

верным решением?
8. JustUserR - 30 Августа, 2010 - 01:08:35 - перейти к сообщению
KuPbI4 пишет:
Вы хотите сказать <p>Модель:{$b["model"]}</p> верным решением?
Если в приведенном вами участке PHP-кода переменная с идентификатором $b определена и содержит ассоциативный массив - то такая конструкция является правильной для доступа к его элементу
9. KuPbI4 - 30 Августа, 2010 - 02:03:53 - перейти к сообщению
JustUserR пишет:
Если в приведенном вами участке PHP-кода переменная с идентификатором $b определена и содержит ассоциативный массив - то такая конструкция является правильной для доступа к его элементу

Если так,
PHP:
скопировать код в буфер обмена
  1.  
  2. while ($b = mysql_fetch_array($q)) {
  3. echo "
  4.   <p>Модель:{$b['model']}</p>
  5.   <p>Год выпуска:{$b["year"]}</p>
  6.   <p>Место стоянки:{$b["mesto"]}</p>
  7.   <p>Пробег:{$b["probeg"]} км</p>
  8.   <p>Цена:{$b["money"]} руб</p>
  9. ";
  10. }
  11.  

то
Цитата:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\autolombard59.ru\www\catalog.php on line 55

где мне копать ошибку?

upd:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $db=mysql_connect("localhost", "root", "") or die("Ошибка подключения");
  4. mysql_select_db("catalog", $db) or die("Не могу выбрать БД");
  5. mysql_query("SET NAMES UTF-8");
  6. $query="SELECT * FROM cars";
  7. $r=mysql_query($query) or die(mysql_error());
  8. echo "
  9.   <p>Модель:$s[model]</p>
  10.   <p>Год выпуска:$s[year]</p>
  11.   <p>Место стоянки:$s[mesto]</p>
  12.   <p>Пробег:$s[probeg] км</p>
  13.   <p>Цена:$s[money] руб</p>
  14. ";
  15. ?>
  16.  

Результат:
Цитата:

Модель:

Год выпуска:0

Место стоянки:

Пробег:0 км

Цена:0 руб

Решено. Но тут совсем не так, я когда вводил в поля разные значения, а выводит 0 (нули), почему так?
когда создаю еще вторую запись, и проверяю, а в результате одна запись, почему?
я все прекрасно понимаю, что столько задаю вопросов, плохо понимаю пхп но потихонечку разбираюсь)
10. KuPbI4 - 30 Августа, 2010 - 20:03:04 - перейти к сообщению
Кто мне подскажет? А то у меня с работой только с этим проблемы. Заранее благодарю.
11. SAD - 30 Августа, 2010 - 21:07:32 - перейти к сообщению
у тебя запрос ничего не выбирает
Цитата:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given

попробуй сделать эту выборку в phpmyadmin
12. KuPbI4 - 31 Августа, 2010 - 00:07:59 - перейти к сообщению
Результат таков:
скрипт добавления:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $model = strip_tags(stripslashes(substr($_POST['model'],0,255)));
  4. $year = strip_tags(stripslashes(substr($_POST['year'],0,11)));
  5. $mesto = strip_tags(stripslashes(substr($_POST['mesto'],0,255)));
  6. $probeg = strip_tags(stripslashes(substr($_POST['probeg'],0,11)));
  7. $money = strip_tags(stripslashes(substr($_POST['money'],0,11)));
  8.  
  9. $db=mysql_connect("localhost", "root", "") or die("Ошибка подключения");
  10. mysql_select_db("catalog", $db) or die("Не могу выбрать БД");
  11. mysql_query("SET NAMES UTF-8");
  12. $query="INSERT INTO cars ( model , year , mesto , probeg , money ) VALUES ('$model', '$year', '$mesto', '$probeg', '$money')";
  13. mysql_query($query);
  14. echo "Запись добавлена! =)";
  15. ?>
  16.  

Результат:
Цитата:

Модель:ads

Год выпуска:123123

Место стоянки:qweqe

Пробег:12313 км

Цена:123123 руб


Модель:q

Год выпуска:123

Место стоянки:as

Пробег:123 км

Цена:11 руб


Модель:asd

Год выпуска:1231

Место стоянки:qweasd

Пробег:2131 км

Цена:111 руб


Всё очень даже, хорошо.. Улыбка Хотелось бы сделать свёрстку страниц, т.е. на одной странице будет 5 данных а на следующей тоже 5. Кто подскажет?
Сложно ли делать редактирование и удаление каталога?
13. SAD - 31 Августа, 2010 - 00:10:36 - перейти к сообщению
постраничная навигация. поиск по сайту и гугл в помощь. тема изъезженная вдоль и поперек
14. Object - 31 Августа, 2010 - 10:15:09 - перейти к сообщению
Так проблема в Warning:... уже решена или это в phpmyadmin все так чудесно выбирается?
Сам долго мучился с этой проблемой.

Да и еще у вас что поле "Год" уникальное? А разве не бывает автомобилей одного года выпуска?
15. KuPbI4 - 31 Августа, 2010 - 15:13:20 - перейти к сообщению
Object пишет:
Да и еще у вас что поле "Год" уникальное? А разве не бывает автомобилей одного года выпуска?

это была проверка Улыбка

насчет постраничной навигаций, много тем глянул, ни один не работает Недовольство, огорчение

вот допустим:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $from = $_POST['from'];
  4. if (!isset($from)) $from = 0;
  5. $count = 3; // по 3 записи
  6.  
  7. $db=mysql_connect("localhost", "root", "") or die("Ошибка подключения");
  8. mysql_select_db("catalog", $db) or die("Не могу выбрать БД");
  9. @mysql_query("SET NAMES UTF-8");
  10. $q = mysql_query("SELECT * FROM cars LIMIT $from, $count");
  11.  
  12. while($b = mysql_fetch_array($q)) {
  13.  
  14. echo "
  15.   <table align='center' class='katal'>
  16.   <tr>
  17.   <td colspan='2' class='katal_title'>
  18.   <p class='katalog'>Модель:$b[model]</p>
  19.   </td>
  20.   </tr>
  21.   <tr>
  22.   <td width='345px'>
  23.   <p class='katalog_1'>Год выпуска:$b[year]</p>
  24.   <p>Место стоянки:$b[mesto]</p>
  25.   <p>Пробег:$b[probeg] км</p>
  26.   <p>Цена:$b[money] руб</p>
  27.   <br>
  28.   </td>
  29.   </tr>
  30.   </table>
  31. ";
  32. }
  33. //определяем сколько страниц
  34. list($num_records) = mysql_fetch_array(mysql_query('select count (*) from cars '));
  35. $count_pages = $num_records/$count + 1;
  36. // дальше ссылки на остальные страницы
  37. for ($i = 0; $i < $count_pages; $i += $count)
  38. {
  39. if ($i != $from)
  40. echo "<a href = catalog.php?from=$from>";
  41. echo "страница ".$i/$count;
  42. echo "</a>";
  43. echo "";
  44. }
  45. ?>
  46.  

Ошибка такова:
Цитата:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\autolombard59.ru\www\catalog.php on line 105
страница 0

ошибку указывает на
PHP:
скопировать код в буфер обмена
  1.  
  2. list($num_records) = mysql_fetch_array(mysql_query('select count (*) from cars '));
  3.  

где и что править?!

 

Powered by ExBB FM 1.0 RC1