ZoRaC Skrevet 14. november 2003 Del Skrevet 14. november 2003 Hei! Har følgende tabell: CREATE TABLE `users` ( `userID` int(11) NOT NULL auto_increment, `nick` varchar(20) default NULL, `password` varchar(32) default NULL, `navn` varchar(20) default NULL, `adresse` varchar(20) default NULL, `postnummer` int(11) default NULL, `poststed` varchar(20) default NULL, `tlf` int(11) default NULL, `mobil` int(11) default NULL, `email` varchar(50) default NULL, `url` varchar(50) default NULL, `date_added` varchar(14) default NULL, `IP` varchar(16) default NULL, `bil_ref` varchar(10) default NULL, `bil_aktiv` int(11) default NULL, `delID` int(11) default NULL, `plassID` int(3) NOT NULL default '0', `kommet` varchar(14) NOT NULL default '0', PRIMARY KEY (`userID`), KEY `plassID` (`plassID`), KEY `delID` (`delID`), KEY `bil_aktiv` (`bil_aktiv`) ) TYPE=MyISAM AUTO_INCREMENT=1; Jeg lister innholdet med følgende: while ($get_info = mysql_fetch_row($result)) { echo "<tr>"; foreach ($get_info as $field) echo "<td><font face=verdana size=2/>$field</font></td><td width=20px> </td>"; echo "</tr>"; } echo "</table>\n"; Hvordan kan jeg gjøre at hvis felter er "email" så lages en link til mailen? Altså en slags "if" for å sjekke hvilket felt i tabellen resultatet kommer fra... er det mulig å gjøre? Lenke til kommentar
sven-o Skrevet 14. november 2003 Del Skrevet 14. november 2003 Er ikke arrayet fra mysql_fetch_row en dictionary(string som nøkkel)? I så fall kan jo dette funke: while ($get_info = mysql_fetch_row($result)) { echo "<tr>"; foreach (array_keys($get_info) as $index) if($index=="email") echo "<td><font face=verdana size=2/>Email: $get_info[$index]</font></td><td width=20px> </td>"; else echo "<td><font face=verdana size=2/>$get_info[$index]</font></td><td width=20px> </td>"; echo "</tr>"; } echo "</table>\n"; Tror det skulle funke. På den måten vet du iallefall hvilket felt du behandler i foreach-løkken. Lenke til kommentar
ZoRaC Skrevet 14. november 2003 Forfatter Del Skrevet 14. november 2003 Det ble ikke helt som du tenkte. Hvis jeg kjører queryet "SELECT nick, navn, email FROM users;" må jeg bruke if($index=="2") Ikke if($index=="email") Vet du noen løsning på det? Lenke til kommentar
Torbjørn Skrevet 14. november 2003 Del Skrevet 14. november 2003 må bruke "mysql_fetch_assoc" og ikke "mysql_fetch_row", hvis du vil ha til array keys. Lenke til kommentar
sven-o Skrevet 14. november 2003 Del Skrevet 14. november 2003 Opps.. Hadde blandet mysql_fetch_row og mysql_fetch_array(den siste lagrer både tall OG strenger som index). Uansett... Du vet jo hvilken index som er email, og da er det vel bedre å bruke if($index=="2"). mysql_fetch_row er langt raskere enn mysql_fetch_array. Lenke til kommentar
Torbjørn Skrevet 14. november 2003 Del Skrevet 14. november 2003 mysql_fetch_assoc lager *kun* tekst-indeks, sikkert ikke mye tregere enn mysql_fetch_row Lenke til kommentar
sven-o Skrevet 14. november 2003 Del Skrevet 14. november 2003 mysql_fetch_assoc lager *kun* tekst-indeks, sikkert ikke mye tregere enn mysql_fetch_row ..og jeg siterer: An important thing to note is that using mysql_fetch_assoc() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå