BeaR123Medlem sedan aug. 200190 inlägg Grr!! Jag har gjort ett script och i en del ska det visa all text i några kolumner i en mysql databas.
Jag har använt mig utav koden:
$svar = mysql_query("SELECT * FROM counter");
while($stats = mysql_fetch_array($svar)) {
echo "$stats[ID] & $stats[Namn]"; }
Det fungerar utmärkt och skriver ut alla efter varandra, men sen måste jag göra om det så man kan skriva ut lite html högst upp och sedan i mitten den texten och till sist lite mer html. Så jag gjorde samma som ovan fast istället för echo ""; använde jag $echo = "";
För att senare i html koden kunna skriva ut $echo där jag vill ha all text från databsen. Men det fungerar inte. Den bara skriver ut den sista kolumnen i databasen. Är det någon som vet varför?
Fråga 2:
Kan man hämta info från en databas och skriva ut första kolumnen i en html tabell med en bg färg och sedan kolumn 2 i en annan bg färg och sedan kolumn 3 i den första bg färgen igen, också vidare...?
Tack för svar...
// Björn
2basMedlem sedan juni 2001181 inlägg Hejsan,
fråga 1:
beror på att du loopar genom alla svaren från databasen och skriver över $echo hela tiden. Därför ser du bara den sista. Ett sätt att ordna det tex lägga in alla rader i en array.
$svar = mysql_query("SELECT * FROM counter");
while($stats = mysql_fetch_array($svar)) {
$echoarray[]= "$stats[ID] & $stats[Namn]"; }
sen kan du skriva ut vilken av raderna du vill mha echo $echoarray[nr] där nr är någon av raderna.
fråga 2:
Ett enkelt sätt är:
$bgcol1="#FFFFFF";
$bgcol2="#EEEEEE";
$vippa=1;
$svar = mysql_query("SELECT * FROM counter");
echo "<TABLE>";
while($stats = mysql_fetch_array($svar)) {
if($vippa>0){
echo "<TR bgcolor=\"$bgcol1\"><TD>hej</TD></TR>";
$vippa=$vippa*-1;
}else{
echo "<TR bgcolor=\"$bgcol2\"><TD>hej</TD></TR>";
$vippa=$vippa*-1;
}
}
------------------
Gratis hemsideadress och email => http://www.has.it
pimmeMedlem sedan sep. 20011 086 inlägg Använd $echo .= "hepp";
Det lägger till "hepp" sist i strängen.
Fråga 2: skriv såhär: for($i=0;$i<$antal_rader; $i++){
$check = $i % 2;
switch($i){
CASE 0: $farg = "";BREAK;
CASE 1: $farg = "";BREAK;
}
}
Sen skriver du $farg som bakgrundfärg....
------------------
//pimme
BeaR123Medlem sedan aug. 200190 inlägg OK tack, men lite problem... :D
"sen kan du skriva ut vilken av raderna du vill mha echo $echoarray[nr] där nr är någon av raderna."
Här skulle jag vilja skriva ut alla raderna genom att bara skriva ett kommando eller något. Eftersom det kan variera från 1 rad till 4000 rader så verkar det lite jobbigt att skriva ut $echoarray[1] $echoarray[2] $echoarray[3] ect.
Går det att fixa?!
// Björn
2basMedlem sedan juni 2001181 inlägg Visst går det att loopa igenom arrayen.
for ($i=0;$i<count($echoarray);$i++){
echo $echoarray[$i];
}
------------------
Gratis hemsideadress och email => http://www.has.it
BeaR123Medlem sedan aug. 200190 inlägg OK. Tack!
Jag ska testa det... Jag återkommer!