За последние 24 часа нас посетили 17714 программистов и 1711 роботов. Сейчас ищут 924 программиста ...

как записать правильно? - PHP

Тема в разделе "PHP и базы данных", создана пользователем wolf777, 10 авг 2015.

  1. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    что то не получается грамотно этот кусок записать, ребят как его правильно написать?

    Код (PHP):
    1. If (isset($_GET['del'])){
    2. $result="SELECT * FROM tb_ads_100x100 WHERE `id`='".$id."'";
    3. $result=mysql_query($sql);
    4. while($row=mysql_fetch_array($result)){
    5.           $url=$row['url'];
    6.  
    7. echo '<center><table cellspacing="0" class="print" style="width:400px">
    8. <tr><th class="title" colspan="5">Вы точно хотите удалить ссылку <b>'.$url.'</b>?<br/></th></tr>
    9. <td class="p"><center>[url="?mode=del&id='.$id.'&ok=ok"]да[/url]
    10.  / [url="?mode=read"]нет[/url]</td></table>';
    11. } else {
    12. $result=mysql_query("DELETE FROM tb_ads_100x100 WHERE `id`='".$id."'");
    13. } 
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    где запись? запись чего? wtf?

    и еще такая вопрос, ты не разу не видел что тут везде рекомендуют использовать mysqli_ за место mysql_ ?

    и еще такая вопрос, а разве когда ты работаешь с БД в процедурном стиле, там не надо передавать ссылку на соединение с БД?
     
  3. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    1) чтобы использовать mysqli_ мне это надо было делать изначально, ну я не переходил на mysqli_ знаю что перейти легко надо просто изменить mysql_ на mysqli_
    2) вот SELECT * FROM tb_ads_100x100 WHERE `id`='".$id."'
    3) вот "DELETE FROM tb_ads_100x100 WHERE `id`='".$id."'

    ненадо у меня бд и так работает все передается из бд
     
  4. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Код (PHP):
    1. If (isset($_GET['del']) {
    2.     if(isset($_GET['ok']){
    3.         // удалить
    4.     } else {
    5.         // переспросить
    6.     }
    7. } 
    8.  
    9.  
    10.  
     
  5. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Maputo, а что такое $_GET['ok'] ?

    Добавлено спустя 1 минуту 48 секунд:
    и почему GET вообще.
     
  6. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    Maputo а как быть с циклом while?

    Добавлено спустя 3 минуты 45 секунд:

    почитайте пожалуйста все про методы GET и POST и для чего они нужны в гугле и не флудите в моей теме
     
  7. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Вы писали?
    Только вместо $_GET['del'] возможно у Вас используется $_GET['mode'].
    Может быть и так:
    Код (PHP):
    1. If (isset($_GET['del']) {
    2.     // переспросить
    3. } else if (isset($_GET['ok']) && isset($_GET['mode'])){
    4.     if($_GET['mode']='del') {
    5.         // удалить
    6.     }
    7. }
    А вообще замените для начала &amp; на &
     
  8. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    это не флуд. это попытка выяснить почему Maputo учит делать неправильно, тогда как вы просили научить вас делать ПРАВИЛЬНО. ))
     
  9. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Ждем правильный ответ.
     
  10. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    вот весь код

    Код (PHP):
    1. If (isset($_GET['del'])){
    2.  
    3. $result="SELECT * FROM tb_ads_100x100 WHERE `id`='".$id."'";
    4. $result=mysql_query($sql);
    5. while($row=mysql_fetch_array($result)){
    6.           $url=$row['url'];      
    7. echo '<center><table cellspacing="0" class="print" style="width:400px">
    8. <tr><th class="title" colspan="5">Вы точно хотите удалить ссылку <b>'.$url.'</b>?<br/></th></tr>
    9. <td class="p"><center>[url="?del&id='.$id.'&ok=ok"]да[/url]
    10.  / [url="?read"]нет[/url]</td></table>';
    11. } else {
    12. $result=mysql_query("DELETE FROM tb_ads_100x100 WHERE `id`='".$id."'");
    13. }
    14. }

    Код (PHP):
    1. echo '<td class="p"><center>[url="?del&id='.$row['id'].'"][X][/url] 
    2. [url="?edit&icq='.$row['id'].'"][изменить][/url]</center></td>';
    суть в том что если пропишу так

    Код (PHP):
    1. If (isset($_GET['del'])){
    2.  
    3. $result="SELECT * FROM tb_ads_100x100 WHERE `id`='".$id."'";
    4. $result=mysql_query($sql);
    5. while($row=mysql_fetch_array($result)){
    6.           $url=$row['url'];      
    7. echo '<center><table cellspacing="0" class="print" style="width:400px">
    8. <tr><th class="title" colspan="5">Вы точно хотите удалить ссылку <b>'.$url.'</b>?<br/></th></tr>
    9. <td class="p"><center>[url="?del&id='.$id.'&ok=ok"]да[/url]
    10.  / [url="?read"]нет[/url]</td></table>';
    11. } else {
    12. $result=mysql_query("DELETE FROM tb_ads_100x100 WHERE `id`='".$id."'");
    13. }
    14. }
    то ругается на Parse error: syntax error, unexpected T_ELSE in Z:\home\ass.su\WWW\modules\ads\my_ads.php on line 13
    это строка } else {
     
  11. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Правильный совет: Для любых изменений данных (insert,update,delete) использовать только POST запросы. а GET только для получения данных(чтения).
     
  12. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    wolf777 для while не закрыта скобка } а для else одна лишняя }
     
  13. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    runcore, ты что не разбираешься в GET и POST?
     
  14. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    хм, notepad++ говорит что лишних скобок нету
     
  15. ol.vo

    ol.vo Активный пользователь

    С нами с:
    5 авг 2015
    Сообщения:
    47
    Симпатии:
    0
    Скачай нормальную IDE
     
  16. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    меня notepad устраивает, тут дело не в скобках
     
  17. ol.vo

    ol.vo Активный пользователь

    С нами с:
    5 авг 2015
    Сообщения:
    47
    Симпатии:
    0
    Ну да, PHP просто так ругается, захотелось ему, вот и ругается)
    Интересно, есть люди, которые в простом блокноте программируют?))
     
  18. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    Код (PHP):
    1. If (isset($_GET['del'])){
    2.  
    Код (PHP):
    1. _____________
    2. $result="SELECT * FROM tb_ads_100x100 WHERE `id`='".$id."'";
    3. $result=mysql_query($sql);
    4. while($row=mysql_fetch_array($result)){
    5.           $url=$row['url'];      
    6. echo '<center><table cellspacing="0" class="print" style="width:400px">
    7. <tr><th class="title" colspan="5">Вы точно хотите удалить ссылку <b>'.$url.'</b>?<br/></th></tr>
    8. <td class="p"><center>[url="?mode=del&id='.$id.'&ok=ok"]да[/url]
    9.  / [url="?mode=read"]нет[/url]</td></table>';
    10. } else {
    11. $result=mysql_query("DELETE FROM tb_ads_100x100 WHERE `id`='".$id."'");
    12. } 
    Код (PHP):
    1. } 
    где вы видите лишнюю скобку?
     
  19. Maputo

    Maputo Активный пользователь

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Именно в скобках.
    И вот это в следущий раз пишите сразу, чтоб меньше было флуда.
     
  20. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    да я уже понял) только пока не могу понять где скобка лишняя
     
  21. ol.vo

    ol.vo Активный пользователь

    С нами с:
    5 авг 2015
    Сообщения:
    47
    Симпатии:
    0
    У тебя там цикл while между if, вообщем присмотрись к циклу)
     
  22. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    чувак, во-первых используй отступы, это поможет (я в свое время тоже думал что отступы это хрень, но со временем пришел к ним).
    во-вторых, на каждое действие (условие, итерация цикла) впиши echo и описание того что происходит, что бы ты по коду видел, что происходит, в том числе значения переменных и конечные вид запросов.
     
  23. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    а в наше время вообще мало кто разбирается)
     
  24. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    вообще тут ошибка идет потому что у меня цикл while получается как условие else, а нужно чтоб был цикл а не условие

    Код (PHP):
    1. $result="SELECT * FROM tb_ads_100x100 WHERE `id`='".$id."'";
    2. $result=mysql_query($sql);
    3. while($row=mysql_fetch_array($result)) {
    4.           $url=$row['url'];    
    5.           
    6. echo '<center><table cellspacing="0" class="print" style="width:400px">
    7. <tr><th class="title" colspan="5">Вы точно хотите удалить ссылку <b>'.$url.'</b>?<br/></th></tr>
    8. <td class="p"><center>[url="?mode=del&id='.$id.'&ok=ok"]да[/url]
    9.  / [url="?mode=read"]нет[/url]</td></table>';
    10. } else {
    из за этого вся ошибка, а вот как правильно прописать пока не знаю

    Добавлено спустя 2 минуты 42 секунды:
    ol.vo да я знаю, поэтому и спросил как правильно написать
     
  25. ol.vo

    ol.vo Активный пользователь

    С нами с:
    5 авг 2015
    Сообщения:
    47
    Симпатии:
    0
    У тебя там синтаксическая ошибка была, ты неправильно закрыл цикл while. Ты его закрыл после блока if, хотя открыл в нем. Нельзя так делать.