Avatar billede downshooter Nybegynder
16. september 2004 - 09:05 Der er 14 kommentarer og
1 løsning

PHP/mySQL while/if sætning melder fejl

Hej eksperter!
jeg får fejl i min while sætning, har ingen idé om hvorfor så derfor spørger jeg jer.

Jeg vil meget gerne se løsning på problemet i kode

jo hurtigere jo bedre (da jeg skal bruge det til et projekt)

håber i forstår mit spørgsmål ellers skriv og spørg.!

------------- min kode ---------------------------------------

<?php

mysql_connect("localhost","admin","123456");

mysql_select_db("db_vare");
                   
$typen = $_POST["typen"];
$kategori = $_POST["kategori"];
$overskrift = $_POST["overskrift"];
$producent = $_POST["producent"];
$pris = $_POST["pris"];
$lagerstatus = $_POST["lagerstatus"];
$billede = $_POST["billede"];
$beskrivelse = $_POST["beskrivelse"];

$query = mysql_query("SELECT * FROM vare_tabel (va_id, va_type, va_kategori, va_overskrift, va_producent, va_pris, va_lagerstatus, va_billeder, va_beskrivelse)");
while ($row = mysql_fetch_assoc($query)) {
if ($i++ != 0) echo '';
echo '<table width="350" border="0" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td width="350" height="20" class="menu4" bgcolor="#EDEDED">';
echo '&nbsp;<b>'.$row['overskrift'].'</b>&nbsp;-';
echo '&nbsp;['.$row['producent'].' '.$row['lagerstatus'].' ]';
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<table width="350" align="center">';
echo '<tr>';
echo '<td width="346" align="left" valign="top" class="menu2" bgcolor="#EDEDED">';
echo $row['beskrivelse'];
echo '</td>';
echo '</tr>';
echo '</table>';
echo '<br>';
}
?>
Avatar billede hmortensen Nybegynder
16. september 2004 - 09:09 #1
Måske sådan her:

<?php

mysql_connect("localhost","admin","123456");
mysql_select_db("db_vare");
                   
$typen = $_POST["typen"];
$kategori = $_POST["kategori"];
$overskrift = $_POST["overskrift"];
$producent = $_POST["producent"];
$pris = $_POST["pris"];
$lagerstatus = $_POST["lagerstatus"];
$billede = $_POST["billede"];
$beskrivelse = $_POST["beskrivelse"];

$query = mysql_query("SELECT * FROM vare_tabel");
while ($row = mysql_fetch_assoc($query)) {

    echo '<table width="350" border="0" cellspacing="0" cellpadding="0">';
    echo '<tr>';
    echo '<td width="350" height="20" class="menu4" bgcolor="#EDEDED">';
    echo '&nbsp;<b>'.$row['overskrift'].'</b>&nbsp;-';
    echo '&nbsp;['.$row['producent'].' '.$row['lagerstatus'].' ]';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '<table width="350" align="center">';
    echo '<tr>';
    echo '<td width="346" align="left" valign="top" class="menu2" bgcolor="#EDEDED">';
    echo $row['beskrivelse'];
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '<br>';
}
?>

Hvad skal de postede variabler bruges til ?
Du bruger dem jo ikke på denne side
Avatar billede jakobclausen Nybegynder
16. september 2004 - 09:09 #2
Tror problemet ligger i din sql sætning, prøv med denne istedet for:

$query = mysql_query("SELECT * FROM vare_tabel");
Avatar billede jakobclausen Nybegynder
16. september 2004 - 09:19 #3
Det kan godt være at det er din while-sætning den angiver fejlen i, men eftersom den tager udgangspunkt i din sql sætning - kan det sagtens være her problemet er.
Avatar billede hvidlogspusher Nybegynder
16. september 2004 - 09:27 #4
$query = mysql_query("SELECT * FROM vare_tabel");
Avatar billede jakobclausen Nybegynder
16. september 2004 - 09:29 #5
hvidlogspusher >> Hurtig hva' - det er samme svar som der er kommet 18 min før :-)
Avatar billede mcgoat Nybegynder
16. september 2004 - 09:33 #6
Jeg bruger normalt mysql_fetch_array istedet for mysql_fetch_assoc, men ved ikke helt hvad forskellen er
Avatar billede downshooter Nybegynder
16. september 2004 - 09:41 #7
hindu_skp jeg får framen vidst nu, men!.. jeg skal kunne udtrække de ting som står i min mySQL sætning, og det kan jeg ikke få til at virke ud over det melder fejl i min while løkke
Avatar billede hmortensen Nybegynder
16. september 2004 - 09:42 #8
$query = mysql_query("SELECT * FROM vare_tabel") or die(mysql_error());

så kan vi lige se om din query passer overens med databasen
Avatar billede downshooter Nybegynder
16. september 2004 - 09:43 #9
hindu, den viser ingen mySQL error
Avatar billede hmortensen Nybegynder
16. september 2004 - 09:46 #10
Har du prøvet med mysql_error() funtionen ?
Avatar billede downshooter Nybegynder
16. september 2004 - 09:49 #11
jeg har en anden form som indsætter ind i databasen, og det virker fint, jeg kan gå ind i phpmyadmin og se at alt bliver sat ind, så det kan ikke være min mysql database den er gal med.
Avatar billede downshooter Nybegynder
16. september 2004 - 09:54 #12
min sql sætning på min anden side ser sådan her ud:

$indsaet = mysql_query("INSERT INTO vare_tabel (va_id, va_type, va_kategori, va_overskrift, va_producent, va_pris, va_lagerstatus, va_billeder, va_beskrivelse)".
  "VALUES ('', '$typen', '$kategori', '$overskrift', '$producent', '$pris', '$lagerstatus', '$billede', '$beskrivelse')");

den virker uden problemer, for jeg kan gå ind i phpmyadmin og tjekke at den sætter det korekt ind i databasen.
Avatar billede hmortensen Nybegynder
16. september 2004 - 09:57 #13
<?php

mysql_connect("localhost","admin","123456");
mysql_select_db("db_vare");
                   
$query = mysql_query("SELECT va_overskrift, va_producent, va_lagerstatus, va_beskrivelse FROM vare_tabel");
while ($row = mysql_fetch_assoc($query)) {

    echo '<table width="350" border="0" cellspacing="0" cellpadding="0">';
    echo '<tr>';
    echo '<td width="350" height="20" class="menu4" bgcolor="#EDEDED">';
    echo '&nbsp;<b>'.$row['va_overskrift'].'</b>&nbsp;-';
    echo '&nbsp;['.$row['va_producent'].' '.$row['va_lagerstatus'].' ]';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '<table width="350" align="center">';
    echo '<tr>';
    echo '<td width="346" align="left" valign="top" class="menu2" bgcolor="#EDEDED">';
    echo $row['va_beskrivelse'];
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '<br>';
}
?>


Hvis der komemr en fejl, så paste den lige herind, så vi kan se den
Avatar billede downshooter Nybegynder
16. september 2004 - 10:00 #14
det virker perfekt nu, tak for hjælpen hindu, skriv et svar så får du dine point!
Avatar billede hmortensen Nybegynder
16. september 2004 - 10:01 #15
Det var så lidt.

Problemet var, at du ikke udskrev de rigtige variabler.
Jeg har også sat den til kun at hente de felter du bruger i udskrivning, så du ikke henter udnødvendig data
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