[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод данных с БД на страницу через innerHTML
Jekel
в БД табличка customers и в ней три записи...с id 1,2,3....в innerHTML выводит только 3 айди(( т.е последний....добавляю еще запись...выводит 4 айди( нужно чтобы все выводило. Как это сделать? Пожалуйста помогите blink.gif

<?php 
include "config.php";

mysql_connect($host, $user, $pass);
mysql_select_db($database);

$mybase = mysql_query("SELECT * FROM customers");

while($db = mysql_fetch_array($mybase)) {
$id = $db['id'];
$name = $db['name'];
$x = $db['x'];
$y = $db['y'];
$loc = $db['loc'];
$player = "<img src='".$id.".gif' id='".$name."' name='".$name."' style='position: absolute; left:".$x."; top:".$y."'></img>";
}
?>
<html>
<
head>
<
script language="JavaScript" type="text/javascript">
function process(){
okno = document.getElementById("peremenka");
okno.innerHTML = "<?php echo $player;?>";
}
</script>
</
head>
<
body onLoad="process()">
<
div id="peremenka"></div>
</
body>
</
html>





Спустя 22 минуты, 22 секунды (12.12.2009 - 05:21) Jekel написал(а):
И так пробовал:-?...не работает

<?php 
include "config.php";

mysql_connect($host, $user, $pass);
mysql_select_db($database);

$mybase = mysql_query("SELECT * FROM customers");

echo '<html>';
echo '<head>';
echo '<script language="JavaScript" type="text/javascript">';
echo 'function process(){';
echo 'okno = document.getElementById("peremenka");';
while($db = mysql_fetch_array($mybase)) {
$id = $db['id'];
$name = $db['name'];
$x = $db['x'];
$y = $db['y'];
$loc = $db['loc'];
echo "okno.innerHTML = "."'<img src=".$id.".gif id=".$name." name=".$name." style=position: absolute; left:".$x."; top:".$y."></img>';";
}
echo '}';
echo '</script>';
echo '</head>';
echo '<body onLoad="process()">';
echo '<div id="peremenka"></div>';
echo '</body>';
echo '</html>';
?>

Спустя 2 часа, 22 минуты, 48 секунд (12.12.2009 - 07:43) VolCh написал(а):
Не выводит все потому что:
- отрабатывая в цикле каждый раз переменная $player перезаписывается, как вариант писать
$player.="<img src='".$id.".gif' id='".$name."' name='".$name."' style='position: absolute; left:".$x."; top:".$y."'></img>"
точка перед равно важна и где-нить перед циклом надо написать $player='';

okno.innerHTML = "<?php echo $player;?>"; 
выполянется только один раз

P.S. Вообще проще было бы, если бы объсянил чего хочешь в итоге. 3 аватарки рядом? smile.gif

P.P.S. И никогда, особенно когда просишь помощи, не пиши цифрами числа, которые могут быть прочитаны двояко, я мозг сломал над фразой "в innerHTML выводит только ТРИ айди(( т.е последний....добавляю еще запись...выводит ЧЕТЫРЕ айди( нужно чтобы все выводило.", пока не вник в код и не понял, что имелось в виду "в innerHTML выводит только ТРЕТИЙ айди(( т.е последний....добавляю еще запись...выводит ЧЕТВЕРТЫЙ айди( нужно чтобы все выводило.

P.P.P.S. лучше, имхо, записать так:
$player.="<img src='$id.gif' id='$name' name='$name' style='position: absolute; left:$x; top:$y'></img>"

Спустя 6 часов, 59 минут, 27 секунд (12.12.2009 - 14:43) Jekel написал(а):
Извини за не понятное обьяснение) например в БД так:

id | name | x | y |
____________________
1 | Admin | 15 | 66 |
2 | User | 123 | 588 |
3 | Root | 147 | 888 |
4 | Guest | 925 | 1086 |

Надо, чтобы на страницу вывело через "okno.innerHTML = " все аватарки пользователей с присвоение аватарам координат по x и y соответственно ихним id. Выйдет что Admin.gif рисунок на страничке розмещен после загрузки по координатам x15 y66, и так всех надо вывести

Спустя 32 минуты, 42 секунды (12.12.2009 - 15:16) Jekel написал(а):
$player.="<img src='".$id.".gif' id='".$name."' name='".$name."' style='position: absolute; left:".$x."; top:".$y."'></img>" - выводит))) Спасибо большое


$player.="<img src='$id.gif' id='$name' name='$name' style='position: absolute; left:$x; top:$y'></img>" так оно же переменки не определит???? ну по крайней мере я так думаю и у меня не определило blink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.