Avatar billede tirdyr Nybegynder
30. august 2007 - 09:44 Der er 9 kommentarer og
1 løsning

IF stament virker ikke

Hej alle sammen.. nogen der kan fortælle mig hvad der er galt med mit IF statement i dette stykke kode?

<?php
//** Get the data from last page.
$produkt = $_GET['produkt'];
$antal = $_GET['antal'];
$enhed = $_GET['enhed'];
$dato = date('dmY');
$ddato = "d" . $dato;
$forhandler = $_GET['forhandler'];

//** Connect to the database
mysql_connect("212.97.132.75", "tirdyr_admin", "silverchair") or die(mysql_error());
mysql_select_db("tirdyr_db") or die(mysql_error());

//** Create the table for the day (if i some day find a way to check if it allrdy exists ill add that
$query = 'CREATE TABLE '. $ddato .'( '.
        'nummer INT NOT NULL AUTO_INCREMENT, '.
        'vare VARCHAR(30) NOT NULL, '.
        'enhed VARCHAR(10) NOT NULL, '.
        'forhandler VARCHAR(30) NOT NULL, '.
        'antal INT NOT NULL, '.
        'PRIMARY KEY(nummer))';
$result=mysql_query($query);


//** select all data in "orginal" so it can be inserted to "$ddato"
$query = "SELECT * FROM $ddato";
$result = mysql_query($query);
$num = mysql_numrows($result);
//** only do the following if the table is empthy.
if ($num  = 0) { //** <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This IF statement


$query = "SELECT * FROM orginal";
$result = mysql_query($query);
$num = mysql_numrows($result);
$i=0;

//** Insert all data from "orginal" except all "antal" is zero.
while ($i < $num) {
$produkt0=mysql_result($result,$i,"vare");
$antal0=0;
$enhed0=mysql_result($result,$i,"enhed");
$forhandler0=mysql_result($result,$i,"forhandler");
$query = "INSERT INTO $ddato (vare, antal, enhed, forhandler) VALUES ('$produkt0', '$antal0', '$enhed0', '$forhandler0')";
mysql_query($query);
$i++;
}
}
//** Insert the data into the table
$query = "UPDATE $ddato SET vare='$produkt', antal='$antal', enhed='$enhed', forhandler='$forhandler'";
mysql_query($query);
//** Print what is added right now.
echo "Du har lige tilføjet " . $antal . " " . $enhed . " " . $produkt . " fra " . $forhandler . ".<br /><hr><br />";

//** Find the cols with "Frugtlageret"
$query = "SELECT * FROM $ddato WHERE forhandler='Frugtlageret' ORDER BY vare";
$result = mysql_query($query);
//** Find the number of results
$num = mysql_numrows($result);
$i=0;
//** Make a table from the former query, use a WHILE loop this is for frugtlageret
echo "<table><tr><td><b>Frugtlageret</b></td></tr>";
while ($i < $num) {
$produkt=mysql_result($result,$i,"vare");
$antal=mysql_result($result,$i,"antal");
$enhed=mysql_result($result,$i,"enhed");
$forhandler=mysql_result($result,$i,"forhandler");
echo "<tr><td>" . $antal . " " . $enhed . " " . $produkt . "</td></tr>";
$i++;
}
echo "</table><br /><hr><br />";

//** Lets do this again for the "KKEngros"
$query = "SELECT * FROM $ddato WHERE forhandler='KKEngros' ORDER BY vare";
$result = mysql_query($query);
$num = mysql_numrows($result);

$i=0;
echo "<table><tr><td><b>KK Engros</b></td></tr>";
while ($i < $num) {
$produkt=mysql_result($result,$i,"vare");
$antal=mysql_result($result,$i,"antal");
$enhed=mysql_result($result,$i,"enhed");
$forhandler=mysql_result($result,$i,"forhandler");
echo "<tr><td>" . $antal . " " . $enhed . " " . $produkt . "</td></tr>";
$i++;
}

//** And again for "Netto"
echo "</table><br /><hr><br />";
$query = "SELECT * FROM $ddato WHERE forhandler='Netto' ORDER BY vare";
$result = mysql_query($query);
$num = mysql_numrows($result);
$i=0;
echo "<table><tr><td><b>Netto</b></td></tr>";
while ($i < $num) {
$produkt=mysql_result($result,$i,"vare");
$antal=mysql_result($result,$i,"antal");
$enhed=mysql_result($result,$i,"enhed");
$forhandler=mysql_result($result,$i,"forhandler");
echo "<tr><td>" . $antal . " " . $enhed . " " . $produkt . "</td></tr>";
$i++;
}
echo "</table><br /><hr><br />";

//** And a again for "Bager"
$query = "SELECT * FROM $ddato WHERE forhandler='Bager' ORDER BY vare";
$result = mysql_query($query);
$num = mysql_numrows($result);
$i=0;
echo "<table><tr><td><b>Bager</b></td></tr>";
while ($i < $num) {
$produkt=mysql_result($result,$i,"vare");
$antal=mysql_result($result,$i,"antal");
$enhed=mysql_result($result,$i,"enhed");
$forhandler=mysql_result($result,$i,"forhandler");
echo "<tr><td>" . $antal . " " . $enhed . " " . $produkt . "</td></tr>";
$i++;
}
echo "</table><br /><hr><br />";

//** And again for "Fisk"
$query = "SELECT * FROM $ddato WHERE forhandler='Fisk' ORDER BY vare";
$result = mysql_query($query);
$num = mysql_numrows($result);


$i=0;
echo "<table><tr><td><b>Fisk</b></td></tr>";
while ($i < $num) {
$produkt=mysql_result($result,$i,"vare");
$antal=mysql_result($result,$i,"antal");
$enhed=mysql_result($result,$i,"enhed");
$forhandler=mysql_result($result,$i,"forhandler");
echo "<tr><td>" . $antal . " " . $enhed . " " . $produkt . "</td></tr>";
$i++;
}
echo "</table><br /><hr><br />";

mysql_close();


?>
Avatar billede tirdyr Nybegynder
30. august 2007 - 10:05 #1
og hvis i sidder og undrer jer over at jeg lige har postet password til min mysql database kan jeg forsikre jer om at den er blevet ændret....
Avatar billede nico26 Nybegynder
30. august 2007 - 10:16 #2
if ($num == 0)
Avatar billede 17196 Nybegynder
31. august 2007 - 08:19 #3
Av min arm en kode!Ved godt det ikke er dit spørgsmål, men det kan måske hjælpe dig til nemme at overskue din kode.

Her er din funktion:
<?
function showSomething($select){

    echo "</table><br /><hr><br />";
    $query = "SELECT * FROM $ddato WHERE forhandler='$select' ORDER BY vare";
    $result = mysql_query($query);
    $num = mysql_numrows($result);
    $i=0;
    echo "<table><tr><td><b>Netto</b></td></tr>";
    while ($i < $num) {
    $produkt=mysql_result($result,$i,"vare");
    $antal=mysql_result($result,$i,"antal");
    $enhed=mysql_result($result,$i,"enhed");
    $forhandler=mysql_result($result,$i,"forhandler");
    echo "<tr><td>" . $antal . " " . $enhed . " " . $produkt . "</td></tr>";
    $i++;
    }
}
?>

Sådan kalder du den:
<?
showSomething('Netto'); // eller Bager, fisk osv.
?>
Avatar billede dkfire Nybegynder
31. august 2007 - 14:25 #4
Bare lige for at optimere din kode endnu mere:

function showSomething($select){

    echo "<br /><hr><br />";

    $query = "SELECT * FROM $ddato WHERE forhandler='$select' ORDER BY vare";
    $result = mysql_query($query);

    echo "<table><tr><td><b>Netto</b></td></tr>";

    while( $row = mysql_fetch_assoc($result) ) {
    echo "<tr><td>" . $row['antal'] . " " . $row['enhed'] . " " . $row['vare'] . "</td></tr>\r\n";
    }

    echo "</table>\r\n";
}
Avatar billede dkfire Nybegynder
31. august 2007 - 14:49 #5
Og så lige til dit spørgsmål.

Du har skrevet lidt fejl:

//** select all data in "orginal" so it can be inserted to "$ddato"
$query = "SELECT * FROM $ddato";
$result = mysql_query($query);
$num = mysql_numrows($result);
//** only do the following if the table is empthy.
if ($num  = 0) {

skal rettes til:

//** select all data in "orginal" so it can be inserted to "$ddato"
$query = "SELECT * FROM $ddato";
$result = mysql_query($query);
$num = mysql_num_rows($result);
//** only do the following if the table is empthy.
if ( $num == 0 ) {
Avatar billede nico26 Nybegynder
03. september 2007 - 11:48 #6
dkfire>>Hvorfor gentager du mit svar? Det er ikke fordi jeg går op i points, men jeg synes bare det er dårlig stil...
Avatar billede dkfire Nybegynder
03. september 2007 - 12:27 #7
øøhhhh nu gentager jeg jo ikke kun dit svar, men har tilføjet mere som var galt. Og så går det jo ligsom ikke at jeg skriver galt i mine svar bare fordi du har givet et svar.
Der var en linje før dit svar som også var forkert, og så skriver jeg bare nogle ekstra linjer for at give mere klarhed.

Men efter din mening må andre åbenbart ikke svare på spørgsmål når du har svaret, eller hvad ???
Avatar billede 17196 Nybegynder
03. september 2007 - 20:08 #8
Selvmål der nico :D
Avatar billede nico26 Nybegynder
07. september 2007 - 11:27 #9
min fejl
Avatar billede tirdyr Nybegynder
14. september 2010 - 13:53 #10
lukker
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

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