Hur gör man för att visa alla resultat från en MySQL query?
och visar resultatet i en html-table, samt att man har varannan rad i en ny färg..så det att blir lite mindre "grötigt" att läsa.
HTML tabeller mm
10 svar · 164 visningar · startad av HDJHSKGDKJHSD
En fråga bara. Vet du hur man presenterar resultatat alls?
Om du vet det så är det i princip bara att göra såhär:
<table>
<tr>
<td>ID</td><td>Namn</td><td>Telefonnummer</td>
</tr>
<?
//Hämta resultatet från databasen.
<tr>
<td><?=$id?></td><td><?=$namn?></td><td><?=$telnr?></td>
?>
</table>
Om du inte vet hur du får ut resultatet får du nog allt göra en sökning här på forumet ;-)
------------------
DinDator.nu: En sida som riktar sig till dig som vill lära sig mer om datorer och internet.
[Redigerat av Marcus den 20 sep 2001]
hmm, det där fungerar ju inte alls :(
dessutom blir det inte en ny färg varannan rad. Alltså, första röd, andra blå, tredje röd osv.
Hur ser din kod ut då?
------------------
DinDator.nu: En sida som riktar sig till dig som vill lära sig mer om datorer och internet.
well, nu har jag löst det iaf..tror jag.
hursomhelst, hur gör man för att returna alla kolumner i en databas när man har DISTINCT?
SELECT DISTINCT w_namn FROM mytable
detta returnerar bara w_namn en gång, detta är bra. men jag vill ha alla fält..fast fortfarande ha w_namn unik...
Tjena!
Här har du en liten kod som skriver ut värden från en mySQL databas och sen skriver ut den på browser. Varje ny rad blir nu olika färger.
<?
function initialize() {
$conn = mysql_connect("db namn","db username","db pass");
if( $conn ) {
$res = mysql_select_db("db",$conn);
} else {
$GLOBALS["message"] = mysql_error();
}
function mysqlRows( $query, $conn ) {
$res = mysql_query( $query, $conn );
return $res;
}
$conn = initialize();
$res = mysqlRows( "SELECT * FROM tabell", $conn );
if( $res > 0) {
$content = mysql_numrows( $res );
echo "<table border=\"0\" width=\"420\" cellspacing=\"0\" cellpadding=\"0\">\n";
echo "<tr>\n";
$bgcolor = "#9C9C9C";
for( $i = 0; $i < $content; $i++ ) {
$data = mysql_fetch_row( $res );
echo "<tr>\n";
$groupnums["{$data[0]}"] = $i;
$num = $i + 1;
echo "<td align=\"center\" bgcolor=\"$bgcolor\" width=\"105\"><font face=\"verdana\" size=\"1\">$värden</font></td>\n";
echo "</tr>\n";
$bgcolor = $bgcolor == "#9C9C9C" ? "#CCCCCC" : "#9C9C9C";
}
echo "</table><BR><BR>\n";
}
if( $content == 0 ) {
echo "NO CONTENT ";
}
?>
Om du har problem med nått tveka inte att maila mig på bolibompa_trash@hotmail.com
Så kommer jag att försöka hjälpa dig mer.
Mvh
Peter Håkansson (Papa Deoo)
Rättelse:
Detta scriptet skriver bara ut en tabellrad. Vill du ha olika kolumner med olika värden i så får du skapa fler kolumner ;-)
------------------
Man är stora svin, men så har vi iofs bara sex med suggor!
[Redigerat av Papa Deoo den 20 sep 2001]
ok, tack!
nu så visas ju alla records, vilket är bra! men inte riktigt bra.
ibland finns det dublettar av mina records(med flit), och när man sen listar dem via din kod så kommer alla med även dubletter, fast jag vill bara ha med samma record en gång....
Hejsan,
För att få bort dubbletter så använd dig av GROUP BY.
Så här ser din query ut nu:
$res = mysqlRows( "SELECT * FROM tabell", $conn );
Men den skall se ut så här
$res = mysqlRows( "SELECT * FROM tabell WHERE värde = $värde GROUP BY värde", $conn );
Du får ju själv välja vilka värden du skall ha i WHERE satsen.
Mvh
Peter Håkansson
------------------
Man är stora svin, men så har vi iofs bara sex med suggor!
Kan du skicka ett exempel på din kod till bolibompa_trash@hotmail.com så kan jag fixa till det åt dig, glöm inte att ha med alla värden som du skall använda dig av.
Mvh
Peter Håkansson
------------------
Man är stora svin, men så har vi iofs bara sex med suggor!
[Redigerat av Papa Deoo den 21 sep 2001]
Kan du skicka ett exempel på din kod till bolibompa_trash@hotmail.com så kan jag fixa till det åt dig, glöm inte att ha med alla värden som du skall använda dig av.
Mvh
Peter Håkansson
------------------
Man är stora svin, men så har vi iofs bara sex med suggor!
Hejsa igen ;)
Det verkar som om du skall skriva ut ID, Namn och Telenummer.
Gjorde om queryn lite till dig, så den skall nog funka.
Här är resultatet:
<?
function initialize() {
$conn = mysql_connect("db namn","db username","db pass");
if( $conn ) {
$res = mysql_select_db("db",$conn);
} else {
$GLOBALS["message"] = mysql_error();
}
function mysqlRows( $query, $conn ) {
$res = mysql_query( $query, $conn );
return $res;
}
$conn = initialize();
$res = mysqlRows( "SELECT id,namn,telenr FROM tabell GROUP BY id,namn,telenr ORDER BY namn,telenr", $conn );
if( $res > 0) {
$content = mysql_numrows( $res );
echo "<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\n";
echo "<tr>\n";
echo "<td><font face=\"Verdana, Arial\" SIZE=\"1\">ID</FONT></td><font face=\"Verdana, Arial\" SIZE=\"1\">Namn</FONT></td><td><font face=\"Verdana, Arial\" SIZE=\"1\">Telefonnummer</FONT></td>\n";
echo "</tr>\n";
echo "<tr>\n";
$bgcolor = "#9C9C9C";
for( $i = 0; $i < $content; $i++ ) {
$data = mysql_fetch_row( $res );
echo "<tr>\n";
$groupnums["{$data[0]}"] = $i;
$num = $i + 1;
echo "<td align=\"center\" bgcolor=\"$bgcolor\" width=\"105\"><font face=\"verdana\" size=\"1\">$id</font></td>\n";
echo "<td align=\"center\" bgcolor=\"$bgcolor\" width=\"105\"><font face=\"verdana\" size=\"1\">$namn</font></td>\n";
echo "<td align=\"center\" bgcolor=\"$bgcolor\" width=\"105\"><font face=\"verdana\" size=\"1\">$telenr</font></td>\n";
echo "</tr>\n";
$bgcolor = $bgcolor == "#9C9C9C" ? "#CCCCCC" : "#9C9C9C";
}
echo "</table><BR><BR>\n";
}
if( $content == 0 ) {
echo "NO CONTENT ";
}
?>
Mvh
Peter Håkansson
------------------
Man är stora svin, men så har vi iofs bara sex med suggor!
[Redigerat av Papa Deoo den 21 sep 2001]