webForumDet fria alternativet

Läsa in en hel databas

6 svar · 506 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 200 inlägg
#1

Strular igen med en inläsning från DB.
Jag vill läsa in bildnamn , och lägga till en <img> för varje rad i min DB.
Kör följande kod

<?
$hostname_MySQL = "localhost";
$database_MySQL = "morganolsson";
$username_MySQL = "root";
$password_MySQL = "";
$MySQL = mysql_pconnect($hostname_MySQL, $username_MySQL, $password_MySQL) or trigger_error(mysql_error(),E_USER_ERROR); 

mysql_select_db($database_MySQL, $MySQL);

$query_get_banner = "SELECT * FROM banners";
$get_banner = mysql_query($query_get_banner, $MySQL) or die(mysql_error());
$row_get_banner = mysql_fetch_assoc($get_banner);
while($c = mysql_fetch_array($get_banner)) { 
$totalRows_get_banner = mysql_num_rows($get_banner);?>
<img src="<?=$c['url']; ?>" border="0" class="reklam" />
<? } ?>

Den hämtar bara det sist sparade i databasen, varför?

fiddlerMedlem sedan juli 20023 617 inlägg
#2

Vad gör du egentligen med $row_get_banner = mysql_fetch_assoc($get_banner);?

Ta bort den så kanske...

SoulGodMedlem sedan aug. 20051 200 inlägg
#3

Fick hjälp med den koden.
Men det händer inget ändå.

fiddlerMedlem sedan juli 20023 617 inlägg
#4

Ta hursomhelst bort nämnda rad. Den tar bort en post.

Hur många poster har du i tabellen?
I din loop räknar du raderna i tabellen varje gång. Flytta ut den kodraden ur loopen.

Följande kod fungerar.

<?
	$hostname_MySQL = "localhost";
	$database_MySQL = "morganolsson";
	$username_MySQL = "root";
	$password_MySQL = "";
	$MySQL = mysql_pconnect($hostname_MySQL, $username_MySQL, $password_MySQL) or trigger_error(mysql_error(),E_USER_ERROR); 

	mysql_select_db($database_MySQL, $MySQL);

	$query_get_banner = "SELECT * FROM banners";
	$get_banner = mysql_query($query_get_banner, $MySQL) or die(mysql_error());
	$totalRows_get_banner = mysql_num_rows($get_banner);
	while($c = mysql_fetch_array($get_banner))
	{
?>
		<img src="<?=$c['url']; ?>" border="0" class="reklam" />
<?	} ?>
SoulGodMedlem sedan aug. 20051 200 inlägg
#5

Jag har nu 3 rader i min databas,
och kör med den koden du gav mig nu.

Den laddar ändå bara den "sista" raden i databasen.
Kan jag ha gjort något fel när jag skapade databasen?

Såhär ser den ut

-- Table structure for table `banners`
-- 

CREATE TABLE `banners` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `url` varchar(75) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `url` (`url`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

-- 
-- Dumping data for table `banners`
-- 

INSERT INTO `banners` (`id`, `url`) VALUES 
(1, 'img/sponsor.png'),
(3, 'img/sponsor2.png'),
(4, 'img/sponsor.png');
fiddlerMedlem sedan juli 20023 617 inlägg
#6

Jag tycker det ser ok ut. Kanske någon annan kan sprida lite ljus över saken...

SoulGodMedlem sedan aug. 20051 200 inlägg
#7

Ingen som har en aning om vad som kan vara fel?

Upptäckte mitt eget fel..
Hade exakta x & y kordinater på min css "reklam" vilket gjorde att alla banners hamnade under varandra.. ber om ursäkt =)

/m

127 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)