Avatar billede nolfi Nybegynder
29. april 2005 - 08:43 Der er 13 kommentarer

Gør output fra for-løkke til link

Hej.

Jeg sidder med et php/mysql-projekt og jeg skal have lavet output fra en mysql-database til et link.
Når en tabel bliver genereret skal data i den første kolonne gøres "klikbar", altså laves til et link, som jeg så kan klikke på og få mere info op med en include længere nede på siden.
Hvordan gøres dette nemmest?
ex:
  for ($i = 0; $i < $ant; $i++)
      {$inf=mysql_fetch_row($res);
    echo '<tr><td>';
    echo $inf[1];
    echo '</td><td>';
osv. osv. osv.
      }

Her er det output af $inf[1] som skal gøres klikbar. Kan det lade sig gøre?
Avatar billede Daniel.E Praktikant
29. april 2005 - 08:47 #1
echo '<a href="hvad der skal stå her bestemmer du">'.$inf[1].'</a>';
Avatar billede Daniel.E Praktikant
29. april 2005 - 08:49 #2
jeg håber det var det du spurgte efter...
Avatar billede nolfi Nybegynder
29. april 2005 - 09:00 #3
Lige præcist. Det kunne jeg jo have sagt mig selv, men det gjorde jeg ikke. Derfor er det godt at have eksperten ;-)
Lægger du et svar?
Avatar billede Daniel.E Praktikant
29. april 2005 - 09:01 #4
nej helst ikke.. :)  jeg samler ikke på points.. tag dem alle selv.. giv mig hellere noget karma...
Avatar billede hyberpreprocessor Nybegynder
29. april 2005 - 09:01 #5
hvorfor bruger du

for ($i = 0; $i < $ant; $i++)
      {$inf=mysql_fetch_row($res);
    echo '<tr><td>';
    echo $inf[1];
    echo '</td><td>';
osv. osv. osv.
      }

normalt bruger man

while($inf=mysql_fetch_row($res))
{
  echo '<tr><td>';
  echo '<a href="hvad der skal stå her bestemmer du">'.$inf[1].'</a>';
  echo '</td><td>';
}
Avatar billede Daniel.E Praktikant
29. april 2005 - 09:04 #6
hyberpreprocessor >> en for() er nemmere at styre end en while().
Avatar billede hyberpreprocessor Nybegynder
29. april 2005 - 09:06 #7
vb2

ikke i dette tilfælde, da while() loopet mht. mysql selv styrer antallet af rækker, og derfor ikke kræver nogen optælling.

Som du kan se har jeg heller ingen forøgelses værdi.
Avatar billede Daniel.E Praktikant
29. april 2005 - 09:10 #8
hyberpreprocessor >>

Jeg ville vælge viskat... en while() fordi at jeg foretrækker den, men der er heller intet i vejen med for().
Avatar billede Daniel.E Praktikant
29. april 2005 - 09:10 #9
hvis du undersøgte den ASM kode der blev genereret udfra de 2 forskellige ville du kunne se den minimale forskel. :)
Avatar billede hyberpreprocessor Nybegynder
29. april 2005 - 09:27 #10
$ant = noget...
for ($i = 0; $i < $ant; $i++) {
$inf=mysql_fetch_row($res);

3 linjer

while($inf=mysql_fetch_row($res)) {

1 linje, og mere strukturet kode

Og hvis $ant kræver en kommando til at tælle antallet op, ender du med en ekstra mysql kommando.
KISS gælder vel stadig i php ?
Avatar billede nolfi Nybegynder
29. april 2005 - 17:20 #11
Jeg ville ha givet vb2 pointsene, men han ville hellere have karma, så jeg vil give dig pointsene, hyberp, pga. dit KISS :-) Men det kræver lige et svar.
Avatar billede hyberpreprocessor Nybegynder
03. maj 2005 - 11:51 #12
nej tak, det var nuengang vb som gav svaret.

KISS = Keep it simple stupid :]
Avatar billede nolfi Nybegynder
03. maj 2005 - 17:47 #13
Ja, jeg kender KISS. :) Netop derfor skulle du have pointene, da det også har hjulpet mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester