ZoRaC Skrevet 14. november 2003 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?
sven-o Skrevet 14. november 2003 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.
ZoRaC Skrevet 14. november 2003 Forfatter 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?
Torbjørn Skrevet 14. november 2003 Skrevet 14. november 2003 må bruke "mysql_fetch_assoc" og ikke "mysql_fetch_row", hvis du vil ha til array keys.
sven-o Skrevet 14. november 2003 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.
Torbjørn Skrevet 14. november 2003 Skrevet 14. november 2003 mysql_fetch_assoc lager *kun* tekst-indeks, sikkert ikke mye tregere enn mysql_fetch_row
sven-o Skrevet 14. november 2003 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.
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å