За последние 24 часа нас посетили 19180 программистов и 1646 роботов. Сейчас ищут 937 программистов ...

Много условий в условиях

Тема в разделе "PHP для новичков", создана пользователем cocka, 31 мар 2009.

  1. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    Не выходит, запутался уже

    надо перепрыгнуть нижестоящее если в бд ничего нет

    моя идея if (empty($myrow"или $result")) {то перепрыгнуть все ниже стоящее и пойти дальше} если фигурную скобку просто с if (empty($myrow)) { и на конец вторую поставить. конечно не работает. пхп сам путается.
    PHP:
    1. <?php
    2.  
    3. if (empty($myrow)) {}
    4.  
    5. do{
    6. if(isset($_POST['druck'])){$druck=$_POST['druck'];}
    7. if(empty($druck)){include('optional/zgn.php');}
    8. else{include('optional/zgnd.php');}}
    9. while($myrow=mysql_fetch_array($result));
    10. if(isset($druck)){exit();}
    11.  
     
  2. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Лентяй...а ну давай еще раз обьясни что ты хочешь.

    PS: if (empty($myrow)) {} бесмысленый код, из-за открытой и тут же закрытой скобки, то есть вне зависимости от результата - ничего не делаем.
     
  3. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    да я понимаю, что бессмысленно "if (empty($myrow)) {}", я не накрутил чтобы не путать людей. это просто код с которым я хотел было решить проблемму, но не вышло

    Дорогой Алост неужели тяжело написать что к чему, нежели обзываться?
     
  4. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Тяжело написать,я не понимаю что ты хочешь.
     
  5. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    у меня вот это уже работает
    PHP:
    1. <?php
    2. do{
    3.  if(isset($_POST['druck'])){$druck=$_POST['druck'];}
    4.  if(empty($druck)){include('optional/zgn.php');}
    5.  else{include('optional/zgnd.php');}}
    6.  while($myrow=mysql_fetch_array($result));
    7.  if(isset($druck)){exit();}
    хочу перепрыгнуть "это" если с базы даных нечего тянуть. Потому,что из бд вытаскивает в рамки, и бровсер показывает пустые рамки, если в бд нет записей

    а вот откуда берутся переменные
    PHP:
    1. <?php
    2. ...$result=mysql_query('SELECT * FROM Ausbildungsnachweis ORDER BY datum',$db);
    3. $myrow=mysql_fetch_array($result);
    4.  
     
  6. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    do меняй на while

    PHP:
    1.  
    2. while($myrow=mysql_fetch_array($result))
    3.   {
    4.    //тут чето делаем с данными из базы
    5.   }
    6.  
    Если данных не будет ничего не выведеться
     
  7. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    PHP:
    1.  
    2. <?php
    3. if (mysql_num_rows ($result) > 0){
    4.     // у нас есть данные
    5. } else {
    6.     // у нас нет данных
    7. }
    8.  
     
  8. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    ни то ни другое не работает. если
    PHP:
    1. while($myrow=mysql_fetch_array($result))
    2.    {
    3. if(isset($_POST['druck'])){$druck=$_POST['druck'];}
    4.   if(empty($druck)){include('optional/zgn.php');}
    5.   else{include('optional/zgnd.php');}}
    6.   while($myrow=mysql_fetch_array($result));
    7.   if(isset($druck)){exit();}
    8.    }
    в любом случае не выводит(есть или нет данных в бд)

    если

    PHP:
    1.  if (mysql_num_rows ($result) > 0){
    2.  
    3.  
    4.  
    5. if(isset($_POST['druck'])){$druck=$_POST['druck'];}
    6.   if(empty($druck)){include('optional/zgn.php');}
    7.   else{include('optional/zgnd.php');}}
    8.   while($myrow=mysql_fetch_array($result));
    9.   if(isset($druck)){exit();}
    10.    }
    11.  
    12.  
    13.  
    14. }
    то скобки путаются с do
    "Parse error: syntax error, unexpected T_DO in Z:\home\Ausbildungsnachweis\www\index.php on line 24"
     
  9. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    PHP:
    1.  
    2. <?php
    3. ...$result=mysql_query('SELECT * FROM Ausbildungsnachweis ORDER BY datum',$db);
    4. $myrow=mysql_fetch_array($result);
    5.  
    третью строчку сноси нафиг.
     
  10. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    Да и вообще это не код,а бред.
     
  11. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    снес 3юю строчку

    с этим бредом заработало

    PHP:
    1.  while($myrow=mysql_fetch_array($result))
    2.    {
    3.  if(isset($_POST['druck'])){$druck=$_POST['druck'];}
    4.    if(empty($druck)){include('optional/zgn.php');}
    5.    else{include('optional/zgnd.php');}}
    6.    while($myrow=mysql_fetch_array($result));
    7.    if(isset($druck)){exit();}
    8.    }
    спасибо
     
  12. mantell

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

    С нами с:
    7 окт 2008
    Сообщения:
    125
    Симпатии:
    1
    жесть..
     
  13. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    есть еще способ какой нибудь?
     
  14. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    PHP:
    1.  
    2. while($myrow=mysql_fetch_array($result))
    3. {
    4.   if (isset($_POST['druck'])) $druck=$_POST['druck'];
    5.   if (empty($druck))
    6.     {
    7.        include('optional/zgn.php');
    8.     }
    9.   else
    10.     {
    11.       include('optional/zgnd.php');
    12.     }
    13.   if(isset($druck)){exit();} //ЭТО ЗАЧЕМ НАДО?
    14. }
    15.  
     
  15. mantell

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

    С нами с:
    7 окт 2008
    Сообщения:
    125
    Симпатии:
    1
    Я бы предложил не еб*ть мозги и, по крайней мере, хоть такой код в нормальное состояние привести. Представь, у тебя будет не 10, а 500 строк такого кода, каково?
     
  16. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    109 строк уже есть вперемешку с хтмлем и справляюсь. другое дело нехватка знаний и планов с чем и как крутить
     
  17. mantell

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

    С нами с:
    7 окт 2008
    Сообщения:
    125
    Симпатии:
    1
    Так сделай так, как сделал Алост в последнем посте, и тебе и всем остальным будет легче.
     
  18. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    вид для печати
    HTML:
    1. <form method="post" align="center" name="neue_form" action="index.php">
    2. <input name="druck" type="submit" value="Druckaussicht">
    3. </form>
    если интерестно чего я делаю
    http://shstahr.sh.funpic.de/www/index.php
    для себя-учебы. описание действий за день.

    можно поиздеваться если хочется
     
  19. Alost

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

    С нами с:
    7 фев 2009
    Сообщения:
    335
    Симпатии:
    0
    Адрес:
    Город вокруг невы
    $druck никогда не будет пустым если нажали на кнопку,Больше одной строчки из базы не обработает, потому что есть if(isset($druck)){exit();}.Мой тебе совет, научись азам программирования, а потом уже учи PHP.
     
  20. cocka

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

    С нами с:
    29 мар 2009
    Сообщения:
    72
    Симпатии:
    0
    обрабатывает
    PHP:
    1. <?
    2. while($myrow=mysql_fetch_array($result)){
    3. if(isset($_POST['druck']))$druck=$_POST['druck'];
    4. if(empty($druck)){include('optional/zgn.php');}
    5. else{include('optional/zgnd.php');}}//while заканчивается тут
    6.  
    7. if(isset($druck)){exit();}
    потомучто выход в цикл не входит, а выходит после цикла чтобы урезать то что не надо для этого вида
    , насчет отжатия кнопки потом сделаю онулирование(а пока и кнопки браузера "назад" хватает)

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