Проблемма!Посоветуйте
jeki Дата: Вторник, 23 Октября 2012, 18:52 | Сообщение # 1
участник
Сейчас нет на сайте
Всем привет.У меня вот такая проблема в движке покелегенда. На денвере этого не было,а на хостинге есть Code
Query: SELECT * FROM diamond_shop ds inner join Items i ON ds.id_tip_item=i.id ORDER BY id_item ASC Error: Table 'u26501_poke.Items' doesn't exist
Не знаю что делать!Думаю возможно нужна константа. Кстати он на хостинге guru-host.ru
Поставьте + плизми
Сообщение отредактировал jeki - Вторник, 23 Октября 2012, 18:55
pyramida Дата: Среда, 24 Октября 2012, 17:54 | Сообщение # 2
был не раз
Сейчас нет на сайте
Пишет что таблица Items не существует. Проверте.
jeki Дата: Среда, 24 Октября 2012, 19:13 | Сообщение # 3
участник
Сейчас нет на сайте
Спс посмотрю.Добавлено (24.10.2012, 19:10) --------------------------------------------- Не помог она существует!Возможно сервер на Linux .Мне писать константу? Типа Tables.php?
Добавлено (24.10.2012, 19:13) ---------------------------------------------
Quote (pyramida )
Проверте.
Ошибка!Правильно будет Проверьте
Поставьте + плизми
Lord135 Дата: Среда, 24 Октября 2012, 19:43 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
jeki , Учи MySQL (http://mysql.ru/docs/ ). И да, говорит что таблица Items не существует. Ты попросил помощи - тебе помогли, причём подсказали не просто вариант, а единственно-правильный, т.к. Quote (jeki )
Table 'u26501_poke.Items' doesn't exist
, а вот почему она не существует это уже ты должен подумать сам.
jeki Дата: Среда, 24 Октября 2012, 20:34 | Сообщение # 5
участник
Сейчас нет на сайте
Lord135 , там попахивает г на http://mysql.ru/docs/ (Понять ничего не могу дай другой) Нет действительно база в базе есть ,а пишет что её нет).
Поставьте + плизми
Lord135 Дата: Четверг, 25 Октября 2012, 09:43 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
jeki , Sql.ru Добавлено (25.10.2012, 09:43) --------------------------------------------- А вообще - гугл в помощь.
Сообщение отредактировал Lord135 - Четверг, 25 Октября 2012, 09:42
jeki Дата: Четверг, 25 Октября 2012, 14:14 | Сообщение # 7
участник
Сейчас нет на сайте
Lord135 , спс за не большую помощь ,,но я уже нашёл)
Поставьте + плизми
PacManNa Дата: Пятница, 26 Октября 2012, 00:42 | Сообщение # 8
был не раз
Сейчас нет на сайте
если сервер линуксовый то не забывайте про учёт реестра... И вообще папки, файлы, розширения пишите маленькими буквами...
бесплатный хостинг. 2гб места MySQL Версия: 5.1.61 PHP Версия: 5.2.14 Apache Версия: 2.2.14 http://api.hostinger.com.ua/redir/2949
cougraAcc Дата: Пятница, 26 Октября 2012, 13:24 | Сообщение # 9
Яркая личность GD
Сейчас нет на сайте
Вообще да, ругается на таблицу Items. По запросу, "ORDER BY id_item ASC" - id_items к какой из таблиц относится? Правила хорошего тона указывать это.
jeki Дата: Суббота, 27 Октября 2012, 12:56 | Сообщение # 10
участник
Сейчас нет на сайте
cougraAcc , можно поподробнее?
Поставьте + плизми
cougraAcc Дата: Суббота, 27 Октября 2012, 13:43 | Сообщение # 11
Яркая личность GD
Сейчас нет на сайте
Quote (jeki )
cougraAcc, можно поподробнее?
Ты делаешь Join 2-х таблиц, а это значит, что каждый столбец должен описываться таблицей, в которой он находится. Например: Code
select * from table1 left join table2 on (table2.id = table1.t2_id) where table1.id = 1
Сообщение отредактировал cougraAcc - Суббота, 27 Октября 2012, 13:45
jeki Дата: Суббота, 27 Октября 2012, 14:18 | Сообщение # 12
участник
Сейчас нет на сайте
Quote (cougraAcc )
Code select * from table1 left join table2 on (table2.id = table1.t2_id) where table1.id = 1
те я должен это туда написать в фаил diamond_shop.php? Добавлено (27.10.2012, 14:18) --------------------------------------------- Вот исходный код:
Code
<?php $my_almaz = first('SELECT donat FROM users WHERE id=%d',$_SESSION['id']); if($my_almaz['donat']>0){ $text_cool = '<font color="black" size="3" style="font-family: Georgia, Times New Roman, Times, fantasy ;">Количество ваших алмазов составляет: <b><i> '.$my_almaz['donat'].' шт. </i></b> </font>'; } else { $text_cool = '<font color="black" size="3" style="font-family: Georgia, Times New Roman, Times, fantasy ;"><b>У Вас нет алмазов чтобы преобрести товар.</b> </font>';} $error_mess = ""; if (isset($_GET['ok'])) { $error_mess = "<br><h4><font color=gold><b><center>Вы удачно приобрели предмет</center></b></font></h4>";} if (isset($_GET['shop'])) { include ("include/shop.php"); include ("include/bottom.php"); exit; } if (isset($_GET['id_lot'])) { $id_lota=abs($_GET['id_lot']); if ((!$id_lota) OR ($_GET['id_lot']<=0)) { echo "<script>location.href='game.php?go=diamond_shop';</script>"; exit; } $proverka_lota = first('SELECT * FROM diamond_shop WHERE id_item=%d',$id_lota); if(!$proverka_lota){ echo "<script>location.href='game.php?go=diamond_shop';</script>"; exit; } if($my_almaz['donat'] > $proverka_lota['cena_item'] OR $my_almaz['donat'] == $proverka_lota['cena_item']){ if($proverka_lota['cool_item']>0){ $res_donat_alm = $my_almaz['donat'] - $proverka_lota['cena_item']; $cool_don_it = $proverka_lota['cool_item'] - 1; update('users',array('donat'=>$res_donat_alm),'id='.(int)$_SESSION['id']); plus_item(1,$proverka_lota['id_tip_item']); update('diamond_shop',array('cool_item'=>$cool_don_it),'id_item='.(int)$proverka_lota['id_item']); echo "<script>location.href='game.php?go=diamond_shop&ok';</script>"; }else{$error_mess='<br><h4><font color=gold><b><center>В данный момент в магазине закончился Айтем который Вы хотите купить. Дождитесь следующей поставки товара.</center></b></font></h4>';} }else{$error_mess='<br><h2><font color=gold><b><center>У вас недостаточно алмазов чтобы купить этот предмет.</center></b></font></h1>';} } $item_spisok = select('SELECT * FROM diamond_shop ds inner join Items i ON ds.id_tip_item=i.id ORDER BY id_item ASC'); ?> <style> .gran { border-color: green; border-style: solid; padding: 5 5 5 5px; } .gran_tw { width: 80px; border-color: #B8860B; border-style: groove; border-width: 7px; padding: 5 5 5 5px; } .gran_tr { width: 80%; height: 60px; border-color: #B8860B; border-style: groove; border-width: 7px; padding: 5 5 5 5px; } .gran_fo { width: 50px; height: 50px; border-color: #2E8B57; border-style: groove; border-width: 7px; padding: 5 10 5 10px; } .gran_fi { width: 80%; height: 50px; border-color: #2E8B57; border-style: groove; border-width: 7px; padding: 2 2 2 2px; } .shadowtext { text-shadow: Black 1px 1px 2px, #DAA520 0 0 1em; color: gold; font-size: 3em; border-color: green; border-style: solid; padding: 5 5 5 5px; } .shadowtext_tw { text-shadow: Black 1px 1px 2px, #DAA520 0 0 1em; color: gold; font-size: 3em; padding: 5 5 5 5px; } </style> <table width=80% align=center> <tr> <td><center> <div class="shadowtext_tw"> <center><b>Алмазный Магазин</b></center> </div> </td> </tr> </table> <table width=80%> <tr> <td width=16%> <div class="gran_tw" align=center> <img src="http://pokeofworld.hut4.ru/img/alm1.png" width="45"> </div> </td> <td align=left> <div class="gran_tr" align=center><br><br> <?php echo $text_cool;?> <br><a href=game.php?go=diamond_shop&shop><b> Приобрести алмазы =></b></a </div> </td> </tr> </table> <?php echo $error_mess;?> <table width=80%> <br> <h1>Список Items</h1><br> <tr> <td width=28><font color=Snow><b>Спрайт</b></font></td> <td width=400> <span><b><font color=Snow><center>Описание</center></font></b></span> </td> <td width=100><font color=Snow><b>Колличество</b></font></td> <td width=100><font color=Snow><b>Цена за 1 шт.</b></font></td> </tr> <tr> <td></td></tr> <?php foreach($item_spisok as $vivod_items_shop){ $ci = $vivod_items_shop['cena_item']; $data2 = array(1=>array(1,21,31,41,51,61,71,81,91,101,121,131,141)); if(in_array($ci,$data2[1])){ $col_txt = "Алмаз";} else { $col_txt = "Алмазов"; } if($ci>1 AND $ci<5) { $col_txt = "Алмаза"; } if($vivod_items_shop['cool_item']>0){ $preobr = "<a href=game.php?go=diamond_shop&id_lot=$vivod_items_shop[id_item]>Приобрести</a>";} else { $preobr = '<font color=gold>Товар закончился</font>';} echo " <tr> <td width=28><img src=$vivod_items_shop[img] width=24></td> <td width=400> <span><b><font color=black>$vivod_items_shop[title]</font></b></span> <br><font color=DarkTurquoise><i>$vivod_items_shop[content]</i></font> </td> <td width=100><font color=black><b>$vivod_items_shop[cool_item] шт.</b></font></td> <td width=100><font color=black><b>$vivod_items_shop[cena_item] $col_txt</b></font></td> </tr><tr><td colspan=4><center>$preobr</center></td></tr> ";} ?> </table>
Добавлено (27.10.2012, 14:18) --------------------------------------------- Куда точно написать?
Поставьте + плизми
Сообщение отредактировал jeki - Суббота, 27 Октября 2012, 14:18
cougraAcc Дата: Суббота, 27 Октября 2012, 17:40 | Сообщение # 13
Яркая личность GD
Сейчас нет на сайте
$item_spisok = select('SELECT * FROM diamond_shop ds inner join Items i ON ds.id_tip_item=i.id ORDER BY id_item ASC'); ^ Как пример.Добавлено (27.10.2012, 17:40) --------------------------------------------- Не указание либо приведет к ошибке, либо запутает. Представь себе вот такой джоин:
Code
select * from table1 left join table2 on (table2.id = table1.id) left join table3 on (table3.uid = table2.uid) left join table4 on (table4.id = table3.ava_id) where table1.id = 2
Здесь понятно как связываются таблицы, и к какому полю какой таблицы идет запрос.
pyramida Дата: Суббота, 27 Октября 2012, 22:27 | Сообщение # 14
был не раз
Сейчас нет на сайте
jeki , кажется в конце тоже нужно указать из какого алиаса id_item. Вообще я старася запросы если выдаются ошибки проверять в денвере на пхпмайадмине. И в представленном коде не вижу джойна.
Сообщение отредактировал pyramida - Суббота, 27 Октября 2012, 22:30