Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте. Меня интересует следующее: как осуществить вывод из базы через select внутри конструкции Print <<<HERE HERE. Имеется следующая PHP-страница:
Отредактированно pkhell (11.05.2011 16:31:14)
Неактивен
Если не понятно, то пример:
Имеется
1
2
3
4
5
Выводится
2
3
4
5
Неактивен
Добавьте перед print HERE, print_r($mas); и посмотрите что она выдаст.
Неактивен
Выдается сообщение следующего рода:
Array ( [0] => 1 [id] => 1 [1] => Весенняя баталия [Game] => Весенняя баталия [2] => Александров [Participant] => Александров [3] => 10 [Point] => 10 )
Проблема в том, что именно название "Весенняя баталия" и игнорируется системой. Кстати, если не использоваться HERE, то все выводится отлично, но без него я не знаю как сделать UPDATE, так как он позволяет записать в форму информацию из базы, которую я потом изменяю.
Неактивен
У Вас на том месте, на котором должно быть имя игры стоит:
Неактивен
У меня так раньше было, но суть в том, что благодаря <? echo $str;?> образуется нисходящий список. Как его реализовать иначе, не подскажете?
Неактивен
Скажу иначе - $mas[Game] у Вас нигде не упоминается в скрипте, почему вы ожидаете, что она будет выведена?
Неактивен
Тогда спрошу иначе: как изменить код, чтобы выводилось все как надо? ))) К тому же запросом
$Query = "SELECT id, Name FROM Games ORDER BY id" я прошу его выводить все. В общем, я запутался, прошу помощи.
Неактивен
Результат запроса попадает в массив, а потом вы должны элементы этого массивы вывести. Можете привести полностью кусок HTML который получается и кусок HTML, который хотите, чтобы получался?
Неактивен
По-сути, все что есть под данному документу, я уже привел выше. Может картинка поможет объяснить суть проблемы?
Кстати, правильный вариант, когда есть все, описан следующим кодом:
<?php
include 'mysql.php';
$Query = "SELECT id, Name FROM Games ORDER BY id";
$dbResult = mysql_query($Query,$dbLink);
$str="";
while(list($i, $about) = mysql_fetch_row($dbResult))
{
$str.='<option value='.'"'.addslashes($about).'"'.' >'.$about.'</option>';
}
$Query1 = "SELECT id, Name2 FROM Gamer ORDER BY id";
$dbResult1 = mysql_query($Query1,$dbLink);
$str1="";
while(list($i, $about) = mysql_fetch_row($dbResult1))
{
$str1.='<option value='.'"'.addslashes($about).'"'.' >'.$about.'</option>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<TITLE>Добавление статьи</TITLE>
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="style/lightbox.css" type="text/css" media="screen" />
<link rel="stylesheet" href="style/style.css" type="text/css" media="screen" />
</head>
<body>
<table width="850" align="center">
<tr>
<td><center><img alt="" src="images/attach-47160.jpg" /></center></td>
</tr>
<tr>
<td>
<table>
<tr>
<?php include 'left.php';?>
<td>
<p class = 'body_txt'>Вы попали на страницу добавления статей. С помощью этого раздела вы можете быстро добавить необходимый вам матерал на страницы сайта. Помните, что заполнение всех полей строго обязательно.</p>
<center><form name="form1" method="post" action="add1.php">
<p>
<label>Game*<br>
<select id="Game" name="Game">
<? echo $str;?>
</select>
</label>
</p>
<p>
<label>Participant*<br>
<select id="Participant" name="Participant">
<? echo $str1;?>
</select>
</label>
</p>
<p>
<label>Point*<br>
<input type="text" name="Point" id="Point">
</label>
</p>
<p>
<label>
<input type="submit" name="submit" id="submit" value="Сохранить">
</label>
</p>
</form></center>
</td>
<?php include 'right.php';?>
</tr>
</table>
</td>
</tr>
<tr><td><br><br>
</td></tr>
</table>
</body>
</html>
Данный код позволяет заполнить поля и отправить обработчику на вставку (INSERT). Код, который я описывал раньше, должен позволить осуществить UPDATE(просто уточняю). Если Вы хотите, могу скинуть полностью все, что имею, включая базу. Жду вердикта.
Отредактированно pkhell (12.05.2011 21:26:25)
Неактивен
pkhell, все таки приведите не скриншот страницы а исходный код HTML, который получился. То есть на этой странице просмотрите в браузере исходный код и вставьте сюда ту часть, которая относится к форме.
Неактивен
А, понял. Извиняюсь за тупость. Вот что получается:
Неактивен
Неактивен
Как видите, echo <? echo <option value="Весенняя баталия" подсвечены зеленым. Что это значит???
Неактивен
Вот теперь все ясно. В HTML попали куски "<? echo" и "?>", которых не должно в нем быть. Они и испортили валидность.
Просто замените <? echo $str;?> на $str
Неактивен
Огромное спасибо Вам, о Учитель! Да прибудет с Вами сила!)))
Неактивен
Итак, у меня возник еще один вопрос по данной тематике. Надеюсь, получится объяснить. Есть код:
Отредактированно pkhell (18.05.2011 16:43:29)
Неактивен
Доброй вам ночи. Недавно столкнулся с одной проблемой. Начал писать блок админа на своём сайте, организовал ввод данных в базу, всё это на уровне новичка . А с редактированием разобраться не могу, не выдает никаких ошибок, но и не работает. То есть организовал вывод записей но по сути в форму вывести их не могу. Подскажите в чём проблема, буду очень признателен.
<?php
$db = mysql_connect ("localhost","maxim","2847");
mysql_select_db("g_rus_litra",$db); /*Соединяемся с базой*/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Страница добавления новой биографии</title>
<style type="text/css">
@import url("style.css");
</style>
</head>
<body>
<div align="center">
<table border="0" width="900">
<tr>
<td colspan="2" height="300">
<p align="right">
<? include("blocks/header.php"); ?>
</td>
</tr>
<tr>
<? include("blocks/nav_left.php"); ?>
<td width="692" rowspan="2" valign="top" class="left-border">
<?
if (!isset($id))
{
$result = mysql_query("SELECT id,fam FROM biograf");
$myrow = mysql_fetch_array($result);
do
{
printf ("<p style='margin-left: 15px;' class='text_title'>
<a href='edit_autobio.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["fam"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
print <<<HERE
<div style="margin-left: 10px;">
<form action="add_autobio.php" method="post" name="form1" class="text_title1">
<p><label for="img">Вставьте ссылку на фотографию с тэгами<br />
<input name="img" type="text" id="img" value="<img src="../biograf/barat.png" height="100px">" size="40" />
</label></p>
<p><label for="fam">Введите фамилию писателя<br />
<input name="fam" type="text" id="fam" size="40" />
</label></p>
<p><label for="name">Введите имя писателя<br />
<br /><input name="name" type="text" id="name" size="40" />
</label></p>
<p><label for="otch">Введите отчество писателя<br />
<input name="otch" type="text" id="otch" size="40" />
</label></p>
<p><label for="date">Введите годы жизни писателя<br />
<input name="date" type="text" id="date" value="1800 — 1900" size="40" />
</label></p>
<p><label for="meta_d">Введите краткое описание писателя<br />
<input name="meta_d" type="text" id="meta_d" size="40" />
</label></p>
<p><label for="meta_k">Введите ключевые слова<br />
<input name="meta_k" type="text" id="meta_k" size="40" />
</label></p>
<p><label for="text">Введите полную биографию писателя с тэгами<br />
<textarea name="text" id="text" cols="40" rows="20"></textarea>
</label></p>
<input type="submit" name="submit" id="submit" value="Занести биографию в базу" />
</form>
</div>
HERE;
}
?>
</td>
</tr>
<tr>
<td> </td>
</tr>
<? include("blocks/copyright.php"); ?>
</table>
</div>
</body>
</html>
Неактивен
Какой запрос у вас не работает?
Неактивен
Ошибок у меня не выдает. Не срабатывает условие. Если id есть выводим форму. <?
if (!isset($id))
{
$result = mysql_query("SELECT id,fam FROM biograf");
$myrow = mysql_fetch_array($result);
do
{
printf ("<p style='margin-left: 15px;' class='text_title'>
<a href='edit_autobio.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["fam"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
print <<<HERE
<div style="margin-left: 10px;">
<form action="add_autobio.php" method="post" name="form1" class="text_title1">
<p><label for="img">Вставьте ссылку на фотографию с тэгами<br />
<input name="img" type="text" id="img" value="<img src="../biograf/barat.png" height="100px">" size="40" />
</label></p>
<p><label for="fam">Введите фамилию писателя<br />
<input name="fam" type="text" id="fam" size="40" />
</label></p>
<p><label for="name">Введите имя писателя<br />
<br /><input name="name" type="text" id="name" size="40" />
</label></p>
<p><label for="otch">Введите отчество писателя<br />
<input name="otch" type="text" id="otch" size="40" />
</label></p>
<p><label for="date">Введите годы жизни писателя<br />
<input name="date" type="text" id="date" value="1800 — 1900" size="40" />
</label></p>
<p><label for="meta_d">Введите краткое описание писателя<br />
<input name="meta_d" type="text" id="meta_d" size="40" />
</label></p>
<p><label for="meta_k">Введите ключевые слова<br />
<input name="meta_k" type="text" id="meta_k" size="40" />
</label></p>
<p><label for="text">Введите полную биографию писателя с тэгами<br />
<textarea name="text" id="text" cols="40" rows="20"></textarea>
</label></p>
<input type="submit" name="submit" id="submit" value="Занести биографию в базу" />
</form>
</div>
HERE;
}
?>
Судя по всему "print <<<HERE" глючит(
Неактивен
Если у Вас не работает какая-то конструкция в PHP, то напишите, пожалуйста,
на форум поддержки PHP.
Неактивен
Всё разобрался))
if (isset($_GET['id'])) {$id = $_GET['id'];} - Забыл прописать
Неактивен
У меня не получатся вывод данных почему-то. Подскажите пожалуйста как и что правильно сделать. Не выводит функция print <<<HERE
<?php
include ("blocks/db.php"); /*Соединение с базой данных admin*/
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Главная страница блока администратора</title>
<link href="css/stylenppinnoteh.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.стиль1 {color: #CCCCCC}
.стиль2 {
font-size: 9;
color: #000000;
}
.стиль3 {color: #000000}
-->
</style>
</head>
<body>
<table width="1152" border="0" align="center" bgcolor="#FFFFFF" class="main_border стиль1">
<!--Подключаем шапку сайта-->
<? include("blocks/header.php") ?>
<tr>
<!--Подключаем меню сайта-->
<? include("blocks/coolmenu.php")?>
<td width="869" valign="top" class="right" height="100$">
<?
if (!isset($id))
{
$result = mysql_query("SELECT title, id FROM licenzii_and_attestat");
$myrow = mysql_fetch_array($result);
do
{
printf ("<p><a href='edit_licenzii.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
$result = mysql_query("SELECT * FROM licenzii_and_attestat WHERE id=$id");
$myrow = mysql_fetch_array($result);
print <<<HERE
<form name="form1" method="post" action="update_licenzii.php">
<p>
<label>Введите название лицензии или свидетельства<br>
<input value="$myrow[title]" type="text" name="title" id="title">
</label>
</p>
<p>
<label>Введите краткое описание<br>
<input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d">
</label>
</p>
<p>
<label>Введите ключевые слова<br>
<input value="$myrow[meta_k]" type="text" name="meta_k" id="meta_k">
</label>
</p>
<p>
<label>Введите полное описание данной лицензиии или свидетельства об аттестации лаборатории НК<br>
<textarea type="text" name="description" id="description" cols="100" rows="7">$myrow[description]</textarea>
</label>
</p>
<p>
<label>Введите текст и полное описание лицензии или свидетельств<br>
<textarea type="text" name="text" id="text" rows="20" cols="100">$myrow[text]</textarea>
</label>
</p>
<input name="id" type="hidden" value="$myrow[id]">
<p>
<input type="submit" name="submit" id="submit" value="Сохранить изменения">
</p>
</form>
HERE;
}
?>
</td>
</tr>
</table></td>
</tr>
<!--Подключаем нижнюю часть сайта-->
<? include("blocks/footer.php") ?>
</table>
</body>
</html>
Отредактированно swoosh_krusty (13.06.2012 06:17:28)
Неактивен