Gå til innhold

Hjelp med "foreach"


Anbefalte innlegg

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
Videoannonse
Annonse

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

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
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.

:yes:

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...