Не работает данная конструкция. уже раз 20 проверил , а все равно . при чем ошибки в браузере не выдает. в чем может быть проблема? Код (Text): <?php if(!isset($id)) { $result = mysql_query("SELECT title,id FROM lessons"); $myrow = mysql_fetch_array($result); do { printf("<p><a href='edit_lesson.php?id=%s'>%s</a></p>", $myrow["id"], $myrow["title"]); } while($myrow = mysql_fetch_array($result)); } else { $result = mysql_query("SELECT * FROM lessons"); $myrow = mysql_fetch_array($result); print <<<HERE <form action="add_lesson.php" method="post"> <div style="padding:8px 0 10px 8px";> <label> Введите название урока:<br> <input type="text" name="title" id="title"> <br> <br> </label> <label> Введите краткое описание урока:<br> <input type="text" name="meta_d" id="meta_d"> <br> <br> </label> <label> Введите ключевые слова урока:<br> <input type="text" name="meta_k" id="meta_k"> <br> <br> </label> <label> Введите дату добавления урока:<br> <input type="text" name="date" id="date" value="2014-08-29"> <br> <br> </label> <label> Введите краткое описание урока с тегами абзацев:<br> <textarea name="description" cols="40" rows="4" id="description"></textarea> <br> <br> </label> <label> Введите полный текст урока с тегами:<br> <textarea name="text" cols="50" rows="15" id="text"></textarea> <br> <br> </label> <label> Введите автора урока:<br> <input name="author" id="author"> <br> <br> <input type="submit" name="submit" id="submit" value="Занести информацию в базу"> <br> </label> </form> </div> HERE; } ?>
Для начала поведайте, что именно не работает? Во-вторых, спалить и забыть напрочь уроки Попова, по которым вы "учитесь". В-третьих, в чём принципиальная разница ваших двух запросов? Может вы хотели в одном из них выводить конкретную статью по ID? И откуда должна появиться переменная $id? Может вы планировали её брать из GET-запроса? Тогда, как минимум: Код (PHP): if(!empty($_GET['id'])) $id = (int)$_GET['id']; // дальше ваш код
Re: Помогите пожалуйста!не работает конструкция if-else Спасибо огромное!помог код Код (Text): if(!isset($_GET['id'])) то есть получается если я переведу id в обычный массив то GET можно не писать?
Re: Помогите пожалуйста!не работает конструкция if-else Чаво? P.S. Завязывайте с Поповским "сайтостроительством", а то до добра это вас не доведёт.
Re: Помогите пожалуйста!не работает конструкция if-else почему завязывать?у него хоть и есть дыры, но в целом понятно обьясняет Добавлено спустя 12 минут 32 секунды: Еще раз спасибо)
Re: Помогите пожалуйста!не работает конструкция if-else Если в GET передается единичное значение, то нет смысла переводить в массив, а присвоить переменной, для того чтобы не писать $_GET
Re: Помогите пожалуйста!не работает конструкция if-else Чтоб туфту вот такую не писать. Если из базы вернётся пустой ответ, php на этот код будет громко ругаться. do-while - это вообще самый редкоиспользуемый цикл во всех C-подобных языках, и не без причины. Во-первых, условие находится далеко от начала цикла. А во-вторых, очень редко возникает реальная необходимость в том, чтоб тело цикла гарантированно выполнялось хоть один раз. А программировать надо, понимая смысл того, что пишите, а не просто подставляя строчки из видеокурса к себе
Re: Помогите пожалуйста!не работает конструкция if-else Я считаю , что while / do while - это одно и тоже . И тут каждый подстраивается под то, что ему удобней.
Re: Помогите пожалуйста!не работает конструкция if-else ой как все запущено((( Попов тоже так считал теперь каждый считает своим долгом его за это пнуть. Перечитай еще раз.
Re: Помогите пожалуйста!не работает конструкция if-else Массив myrow не вытащит информацию, а при чем тут это?
Re: Помогите пожалуйста!не работает конструкция if-else do ... while выполнится как минимум 1 раз вне зависимости от того что в while Таким образом у тебя будет 1 нерабочая ссылка плюс в лог посыпятся сообщения undefined variable.
Re: Помогите пожалуйста!не работает конструкция if-else а для чего тогда конкретно нужен while в этом цикле?
Re: Помогите пожалуйста!не работает конструкция if-else Не внимательно читал значить. Отличие while от do while в том что при простом while вначале делается проверка во втором случае выполняется 1 раз цикл потом делается проверка while.
Re: Помогите пожалуйста!не работает конструкция if-else ааа дошло. в while идет проверка сразу , а в do while после того как уже сделан 1 цикл . Спасибо Добавлено спустя 1 минуту 6 секунд: а цикл for получается действует аналогично простому while
Re: Помогите пожалуйста!не работает конструкция if-else Не-а... Цикл for - это совсем особый случай. Вот посмотрите его блоксхему: А вот описание, как он работает: https://php.net/manual/ru/control-structures.for.php
Re: Помогите пожалуйста!не работает конструкция if-else Как все запутано оказалось, ну ладно буду разбираться ) Всем спасибо
Re: Помогите пожалуйста!не работает конструкция if-else. Реш Зато ты мнение уже имел. Нужно всегда отличать то что ты знаешь от того что тебе навязано и не проверено.
Re: Помогите пожалуйста!не работает конструкция if-else. Реш Теперь понял)цикл do while все равно выполнится один раз)
Re: Помогите пожалуйста!не работает конструкция if-else. Реш do само за себя говорит, до итерации. К тому же, все условия будут проверятся в конце, а не как у while в начале. По этому do выполнится в любом случае, даже если нет данных.