webForumDet fria alternativet

loop

9 svar · 258 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 105 inlägg
#1

Loop funkar inte?.. den loopar bara ut en post!

$sql = "select * from dagbok where Anvandarnamn = '{$_GET['anvandarnamn']}'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);?>

<?
if ($_SESSION['anvandarnamn'] == $row['Anvandarnamn'] and $antal >0) {

}

while ($rad=mysql_fetch_array($result)){?>
bla bla
<?}?>
monAmourMedlem sedan dec. 2002270 inlägg
#2

varför denna if sats som inte innehåller något?
if ($_SESSION['anvandarnamn'] == $row['Anvandarnamn'] and $antal >0) {

jboy_87Medlem sedan aug. 20011 105 inlägg
#3

monAmour> vad menar du? det e inte fel där!

om jag tar bort denna rad $row = mysql_fetch_assoc($result)
så funkar det men vill ha det kvar för att få ut $row['Anvandarnamn']

sen har jag while loopen det är där det blir knas?

BlårandMedlem sedan jan. 20031 504 inlägg
#4

jboy_87 skrev:

monAmour> vad menar du? det e inte fel där!

Tror monAmour menar att if-satsen i sig inte fyller någon funktion, eftersom den inte utför något om den är sann.
(Förvisso antagligen inte det som orsakar felet.)

MatteMedlem sedan aug. 20002 970 inlägg
#5

$row = mysql_fetch_assoc($result) hämtar den första raden i resultatsetet, den kommer därför inte med senare när du listar.

Användarnamnet har du redan i $_GET['anvandarnamn'] så du behöver inte hämta en rad för detta.

jboy_87Medlem sedan aug. 20011 105 inlägg
#6

ja men jag kan ju inte skriva $rad['Anvandarnamn'] Notice: Undefined variable: rad in........................ jag har ju
while ($rad=mysql_fetch_array($result)) under så jag kan ju inte anropa $rad???????????????

jboy_87Medlem sedan aug. 20011 105 inlägg
#7

det jag vill förklara e att jag vill få ut en row och sedan loopa med rad!

monAmourMedlem sedan dec. 2002270 inlägg
#8

Kör:

<?
if (isset($_GET['anvandarnamn'])) {
$sql = "SELECT Anvandarnamn FROM dagbok WHERE Anvandarnamn='{$_GET['anvandarnamn']}'";
$result = mysql_query($sql) or Die(mysql_error());
if (mysql_num_rows($result) != 0) {
while($row = mysql_fetch_row($result)) {
$u = $row['0'];
}
}
else {
echo("No db record with given username!\n");
exit;
}
// lista om användarnamnet är korrekt
if ($u == $_SESSION['anvandarnamn']) {
$sql = "select * from dagbok where Anvandarnamn = '{$_GET['anvandarnamn']}'";
$result = mysql_query($sql) or Die(mysql_error());
while($row = mysql_fetch_array($result)) {
//print out results
}
} // end if
} // end if
?>
jboy_87Medlem sedan aug. 20011 105 inlägg
#9

hmm så man måste öppna ett recordset till?

MatteMedlem sedan aug. 20002 970 inlägg
#10

Jag kan fortfarande inte förstå varför men först ska hämta en rad ur tabellen där Användarnamn är lika med $_GET['användarnamn'], för att sedan använda detta Användarnamn vid en jämförelse; det är ju fortfarande samma som $_GET['användarnamn'], annars hade man inte fått ut något ur databasen.

Det borde räcka med:

$sql = "select * from dagbok where Anvandarnamn = '{$_GET['anvandarnamn']}'";
$result = mysql_query($sql);

if ($_SESSION['anvandarnamn'] == $_GET['anvandarnamn']) {

    while ($rad = mysql_fetch_array($result)) {
        echo "bla bla";
    }

}
Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb