Проблем с изваждане на резултати.

joorkataa

Registered
Ами би трябвало ако в полето island1 има зададена стойност 1 да показва картинката но нея показва .... незнам защо става така ето кода
Код:
<?php
$id = $_GET['id'];
$mysql = mysql_query("SELECT * FROM users where id = '$id'");
while($my = mysql_fetch_array($mysql)){
if ( $my['island1'] == '1' ){echo "<div id='image1' style='position:absolute; overflow:hidden; left:213px; top:745px; width:175px; height:100px; z-index:1'><img src='island/house1.gif' alt='' title='' border='0' width='75' height='100'></div>";}
if ( $my['island2'] == '1' ){echo "<div id='image2' style='position:absolute; overflow:hidden; left:286px; top:787px; width:125px; height:100px; z-index:1'><img src='island/house2.gif' alt='' title='' border='0' width='75' height='100'></div>";}
}
?>
 
Код:
<?php
$id = $_GET['id'];
$mysql = mysql_query("SELECT * FROM `users` WHERE `id` = '$id'");
while($my = mysql_fetch_array($mysql)){
if ($my['island1'] == 1){
echo "<div id='image1' style='position:absolute; overflow:hidden; left:213px; top:745px; width:175px; height:100px; z-index:1'><img src='island/house1.gif' alt='' title='' border='0' width='75' height='100'></div>";
}
if ($my['island2'] == 1){
echo "<div id='image2' style='position:absolute; overflow:hidden; left:286px; top:787px; width:125px; height:100px; z-index:1'><img src='island/house2.gif' alt='' title='' border='0' width='75' height='100'></div>";
}
}
?>
може би така
 
Ами проблема ти е, че ползваш свойните кавички без специалния знак преди тях.

Примера мие следния:

Когато вкараш нещо в php функцията echo, и в това нещо което напишеш има кавички - преди всяка кавичка от това нещо трябва да поставяш специален знак \ , за да кажеш на php, че тази кавичка е просто като текст, а не като специален символ за php(каквато е попринцип).

И за да ти стане ясно давам пример:

Грешно:

echo "<div style="top: 0"><face size="10"></face></div>";

Правилно:

echo "<div style=\"top: 0\"><face size=\"10\"></face></div>";
 
Добре де, а я сложи това в началото преди първия if:

echo $my['island1']; - да видим каква е стойността.

Щом начина на колегата не става значи просто стойността не става 1 и затова не се показва снимката ...
 
Значи или променливата я няма или в тази променлива няма записана стойност и грешката е другаде в кода - където се дава стойността на тази променлива(то е елемент де, но логиката ти е ясна).

Ако не си сигурен дали я има или не - дай повече код, за да ти се помогне конкретно. Така няма как да гадаем какво има и какво няма в кода ти :)
 
Пробвах 10 различни неща и от таблицата users полето island1 не вади нищо ... а полето си го има и вътре има стойност 1 :shock: :!:

Ето кода


Код:
<?php
$session = $_SESSION['name'];
if($session == null){
echo ' Не си логнат.';
}else{
$name = $name;
echo "<center>Здравей $name<br /><a href='index.php?a=editprofile'><b><u>Профил Редакция</u></b></a>";
?>
<?php
$id = $_GET['id'];
$mysql = mysql_query("SELECT * FROM users where id = '$id'");
while($my = mysql_fetch_array($mysql)){
if ( $my['island1'] == '1' ){echo "<div id='image1' style='position:absolute; overflow:hidden; left:213px; top:745px; width:175px; height:100px; z-index:1'><img src='island/house1.gif' alt='' title='' border='0' width='75' height='100'></div>";}
}
?>
 
Ъъъ... защо не ползваш $mysql, вместо грешното $my в if-овете :shock:

Т.е. селектираш си още горе в заявката само полето island1 и после прилагаш $mysql = mysql_fetch_array($mysql) и толкоз...

За какво ти е допълнителна променлива и то масив от всички...

ПС: Нещо в заявката куця явно. Провери като зададеш конкретно йд с цифра.
Ако и тогава не става нещо не ти е построена правилно заявката.

Тогава влез в phpMyAdmin-a и направи един селект чрез интерфейса - той ще ти покаже готовия код над заявката ;)
 
appmaster каза:
Ъъъ... защо не ползваш $mysql, вместо грешното $my в if-овете :shock:

Т.е. селектираш си още горе в заявката само полето island1 и после прилагаш $mysql = mysql_fetch_array($mysql) и толкоз...

За какво ти е допълнителна променлива и то масив от всички...

Добре направих го пак не става :idea:

Нямам си на идея защо става така.
 
Код:
<?php
$id = $_GET['id'];
$res = mysql_query("SELECT * FROM `users` WHERE `id` = '$id'");	
while($row = mysql_fetch_array($res)){
$pr = $row['island1'];
if ($pr == '1'){
echo "
<div id='image1' style='position:absolute; overflow:hidden; left:213px; top:745px; width:175px; height:100px; z-index:1'><img src='island/house1.gif' alt='' title='' border='0' width='75' height='100'></div>
";
}
}
?>
така или
Код:
<?php
$id = $_GET['id'];
$res = mysql_query("SELECT * FROM `users` WHERE `id` = '$id'");	
while($row = mysql_fetch_array($res)){
$pr = $row['island1'];
if ($pr == 1){
echo "
<div id='image1' style='position:absolute; overflow:hidden; left:213px; top:745px; width:175px; height:100px; z-index:1'><img src='island/house1.gif' alt='' title='' border='0' width='75' height='100'></div>
";
}
}
?>
така по един от двата начина трябва да стане
 
някаква грешка с id-to или с редовете в базата защото кода е такъв че няма начин да не ти вади никъкъв резултат
 
Добре ето го сяла

Код:
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(11) NOT NULL,
  `pass` varchar(60) character set cp1251 collate cp1251_bulgarian_ci NOT NULL default '',
  `ip` varchar(255) default NULL,
  `timestamp` text NOT NULL,
  `time` varchar(255) NOT NULL,
  `mail` varchar(60) NOT NULL,
  `sex` varchar(11) character set cp1251 collate cp1251_bulgarian_ci NOT NULL default 'male',
  `einwohner` varchar(255) default '0',
  `island1` varchar(255) NOT NULL default '0',
  `island2` varchar(11) default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `mail` (`mail`),
  UNIQUE KEY `name` (`name`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=72197 ;
 

Back
Горе