Har en DB med tabel(brugere) som bl.a indeholder felterne brugernavn og password! Ved logon skal felterne brugernavn og password checkes! Bemærk, at både felterne brugernavn og password indeholder mange navne og passwords! Mit problem er, at scriptet kun får fat i den sidst indtastede kombination af brugernavn og password! Hvor sætter man en løkke ind i det nedenfor viste script så alle brugernavne og passwords checkes?:
$hent_data = mysql_query("SELECT * FROM brugere") or die (mysql_error()); while ($vis_data = mysql_fetch_row($hent_data)) {
$hent_data = mysql_query("SELECT * FROM brugere WHERE brugernavn='$brugernavn' AND password='$password'") or die (mysql_error()); if (mysql_num_rows($hent_data) == 1) { //du er logget ind }else //whatever }
læs venligst hvad der står! Der ER kun et brugernavn og password i hver række MEN felterne brugernavn og password indholder hver især mange brugernavne og password! F.eks. indeholder række 1 denne kombination (brugernavn=hans, password=56HJK89)- række 2 (brugernavn=helle, password=34er5kl) OSV.
Detrox> Du har nok ret! Men hvis jeg nu insisterer på, at gøre det på min facon og forestillede os, at det array som udtrækkes indeholdt andre værdier som f.eks. fodboldspiller_navne og antal_troeje_vaske hvorledes skulle jeg så skrive det således, at jeg kunne placere de udtrukne informationer i en <table> UDEN for løkken! Håber du forstår!?
Det er klart at dit script kun fanger den sidst indtastede kombination, da du først efter loopen checker om brugeren er logget ind. Da vil dine varibler indeholde den sidste indtastede kombination.
Prøv med
$loggetInd = "Prøv igen!<p>";
$hent_data = mysql_query("SELECT * FROM brugere") or die (mysql_error()); while ($vis_data = mysql_fetch_row($hent_data)) {
Ja, nu er jeg lidt i tvivl om, hvad det er du vil. Hvis det bare er data fra den samme række gør det ingen forskel:
$hent_data = mysql_query("SELECT * FROM brugere WHERE brugernavn='$brugernavn' AND password='$password'") or die (mysql_error()); if (mysql_num_rows($hent_data) == 1) { //du er logget ind $vis_data = mysql_fetch_row($hent_data); // udskriv data i tabel }else{ //osv... }
Ellers må du lige forklare lidt nærmere, hvad det er du vil.
Detrox > Det virker fint som du har beskrevet - tak! Men når vi nu er igang ville jeg gerne om jeg også kunne få en "bid" mere med, da jeg ofte har stået i en situation med et problem der "ligner" - så her kommer igen:
Forestil dig, at jeg har en tabel med id,fodboldspiller_navne,troejevask! Jeg vil nu gerne lave en pæn designet <table> med det udtræk som kommer fra DB. Jeg gør som følger:
$hent_data = mysql_query("SELECT * FROM vask") or die (mysql_error()); while ($vis_data = mysql_fetch_row($hent_data)) {
Ovennævnte virker selvfølgelig ikke! Men jeg ville altså gerne have, at hele arrayets indhold af $db_fodboldspiller stod pænt i tabellen under "Spiller navn" og at arrayets indhold af $db_troejevask står under Antal vaske!
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.