webForumDet fria alternativet

Hur loopar man ?

4 svar · 205 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 140 inlägg
#1

Hur fasen gör man för att rada upp allt som finns i tabellen? Jag har testat med massa while loopar, men det funkar inte. Den här koden nedan visar bara en post. Jag vill att den ska visa alla.

<font face="Verdana" size="1">

<?php
// Öppna databasen
$open = mysql_connect("localhost","","") or die ("Could not connect");
echo("Connected successfully");

echo("<br>");

// Hitta rätt tabell
mysql_select_db ("test") or die ("Could not select database");
echo("Database found");

echo("<br>");

// Välj vad som ska visas
$hamta = mysql_query("SELECT id, namn FROM tabell1") or die ("Fel i SELECT");

echo("<br>");

// Skriv ut det på sidan
while($info = mysql_fetch_array($hamta))

{
$id=$info["id"];
$namn=$info["namn"];

echo "$id <b>$namn</b>";
echo("<br>");
}

// Stäng databasen
mysql_close($open);
?>
Web-TorMedlem sedan nov. 200013 890 inlägg
#2

Testa med att ta bort det här:

// Skriv ut det på sidan
while($info = mysql_fetch_array($hamta))
{
$id=$info["id"];
$namn=$info["namn"];
echo "$id <b>$namn</b>";
echo("<br>");
}

Och lägg in det här:

// Skriv ut det på sidan
$i=0;
while ($i < mysql_num_rows ($hamta)) {

$id = mysql_result ($hamta,$i,id);
$namn = mysql_result ($hamta,$i,namn);
echo "$id <b>$namn</b>";
echo "<br>";
$i++;
}

------------------
/Tor
www.tor.nu

streetrobbanMedlem sedan jan. 20011 140 inlägg
#3

Det sista jag gjorde igår natt innan jag gick och lade mig i min sköna säng var att lösa problemet. Men din kod funkade också Web-Tor. Tack för hjälpen!

streetrobbanMedlem sedan jan. 20011 140 inlägg
#4

Förresten kan det väl vara bra för mig som nybörjare att veta vilken kod som är bäst att använda. Här följer båda exemplen, som fungerar:

<font face="Verdana" size="1">

<?php
// Make a connection
$open = mysql_connect("localhost","","") or die ("Could not connect");
echo("Connected successfully");

// ?
mysql_select_db("test",$open);

echo("<br>");

// Select database
mysql_select_db ("test") or die ("Could not select database");
echo("Database found");

echo("<br><br>");

// Print it on the page
$resultat = mysql_query("SELECT * FROM tabell1", $open);
while ($kolumn = mysql_fetch_array($resultat)) {
print " ".$kolumn['id']." <b> ".$kolumn['namn']." </b>\n";
print "<br>";
}

// Choose what to view
$rakna = mysql_query("SELECT id FROM tabell1") or die (mysql_error());
$num_rows = mysql_num_rows($rakna); 

echo("<br>");

// Print it on the page
echo "A total of $num_rows names\n";

// Close the connection
mysql_close($open);
?>
<font face="Verdana" size="1">

<?php
// Make a connection
$open = mysql_connect("localhost","","") or die ("Could not connect");
echo("Connected successfully");

// ?
mysql_select_db("test",$open);

echo("<br>");

// Select database
mysql_select_db ("test") or die ("Could not select database");
echo("Database found");

echo("<br><br>");

// Print it on the page
$hamta = mysql_query("SELECT id, namn FROM tabell1") or die (mysql_error());
$i=0;
while ($i < mysql_num_rows ($hamta)) {
$id = mysql_result ($hamta,$i,id);
$namn = mysql_result ($hamta,$i,namn);
echo "$id <b>$namn</b>";
echo "<br>";
$i++;
}

// Choose what to view
$rakna = mysql_query("SELECT id FROM tabell1") or die (mysql_error());
$num_rows = mysql_num_rows($rakna); 

echo("<br>");

// Print it on the page
echo "A total of $num_rows names\n";

// Close the connection
mysql_close($open);
?>
LarsGMedlem sedan dec. 200012 464 inlägg
#5

Hur du loopar är väl inte så noga, huvudsaken att det fungerar.

Det som är onödigt i din kod är att du gör en extra select för att hämta antalet rader istället för att anropa mysql_num_rows för den första frågan.

------------------
essentitia preter non sans multiplicandum

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