Avatar billede hp-power Nybegynder
13. juni 2008 - 19:27 Der er 9 kommentarer og
1 løsning

sql select fejl hvis den ikke findes.

er ved at lavet en over sigt over vare. i tabellen er der

id, varenr, beskrivelse, antal,

jeg har lave en normal for hvor bruger kan skrive et vare nr og trykke søg det virker også fint så lang tid de skriver en nummer der finde. men hvis de skriver et nummer der ikke findes får jeg bare en hvid skærm..

    include("database.php");
    $sql = "select * from `vare` where varenr=\"$varenr\"";
   
    $resultat = mysql_query($sql,$conn) or die(mysql_error());
   
    while ($newarray = mysql_fetch_array($resultat)) {
   
    // giv felterne et navn
    $hentet_id = $newarray['id'];
    $hentet_varenr= $newarray['varenr'];
    $hentet_beskrivelse = $newarray['beskrivelse'];
        $hentet_antal = $newarray['antal'];

echo "$hentet_varenr<br>;
echo "$hentet_beskrivelse<br>;
echo "$hentet_antal<br><br><br>;

}


kan i hjælpe
Avatar billede sj.netomia Nybegynder
13. juni 2008 - 19:39 #1
burde virke, dog ikke testet.

include("database.php");
    $sql = "select * from `vare` where varenr=\"$varenr\"";
   
    $resultat = mysql_query($sql,$conn) or die(mysql_error());
   
    while ($newarray = mysql_fetch_array($resultat)) {
   
    // giv felterne et navn
    $hentet_id = $newarray['id'];
    $hentet_varenr= $newarray['varenr'];
    $hentet_beskrivelse = $newarray['beskrivelse'];
        $hentet_antal = $newarray['antal'];

}

if ($varenr > ""){

echo "$hentet_varenr<br>;
echo "$hentet_beskrivelse<br>;
echo "$hentet_antal<br><br><br>;
}

else {
print ("varenr findes desværre ikke);
}
Avatar billede hp-power Nybegynder
13. juni 2008 - 19:44 #2
Det virker ikke.

der det fordi at være nummerne også indeholder bogstaver, fx. PH-733-283
Avatar billede coderdk Praktikant
13. juni 2008 - 19:44 #3
include("database.php");
  if ( !empty( $varenr ) )
  {

    $sql = "select * from `vare` where varenr=\"$varenr\"";
 
    $resultat = mysql_query($sql,$conn) or die(mysql_error());

    if ( mysql_num_rows( $resultat ) > 0 )
    { 
      while ($newarray = mysql_fetch_assoc($resultat))
      {
          // giv felterne et navn
          $hentet_id = $newarray['id'];
          $hentet_varenr= $newarray['varenr'];
          $hentet_beskrivelse = $newarray['beskrivelse'];
          $hentet_antal = $newarray['antal'];
          echo "$hentet_varenr<br>;
          echo "$hentet_beskrivelse<br>;
          echo "$hentet_antal<br><br><br>;
      }
    }
    else
    {
        echo "Ingen fundet";
    }
}
else
{
  echo "Du skal søge på et varenummer";
}
Avatar billede jakobdo Ekspert
13. juni 2008 - 19:52 #4
if ( !empty( $varenr ) )
bør msåke rettes med:

if ($varenr != '' )

Da !empty() vil melde fejl på 0, og 0 kunne i teorien godt være et varenummer. :o)
Avatar billede jakobdo Ekspert
13. juni 2008 - 19:58 #5
Og endnu bedre ville være at vide hvordan et varenummer kunne se ud og så tjekke at varenummeret er et korrekt varenummer, inden vi søger på det.
F.eks. med regexp eller hvis det er rent nummer, så:

if(isset($varenr) && is_numeric($varenr))
Avatar billede hp-power Nybegynder
13. juni 2008 - 20:04 #6
problemet er at der ikke rigtig findes en standart.. men det virker de script du har lavet coderdk. det kan jeg godt bruger..
Avatar billede jakobdo Ekspert
13. juni 2008 - 20:11 #7
Havde ikke set dit indlæg med: PH-733-283, så coderdk's løsning må være den mest korrekte i denne tråd, indtil videre. :o)
Avatar billede jakobdo Ekspert
13. juni 2008 - 20:13 #8
Hvis varenumre altid er i formattet:

bogstav bogstav - tal tal tal - tal tal tal, så ville dette kunne bruges:

if (preg_match('/^[A-Z]{2}-\d{3}-\d{3}$/s', $varenr)) {
//SQL osv...
}
Avatar billede coderdk Praktikant
13. juni 2008 - 20:24 #9
(c:
Avatar billede sj.netomia Nybegynder
13. juni 2008 - 20:51 #10
include("database.php");
    $sql = "select * from `vare` where varenr=\"$varenr\"";
   
    $resultat = mysql_query($sql,$conn) or die(mysql_error());
   
    while ($newarray = mysql_fetch_array($resultat)) {
   
    // giv felterne et navn
    $hentet_id = $newarray['id'];
    $hentet_varenr= $newarray['varenr'];
    $hentet_beskrivelse = $newarray['beskrivelse'];
        $hentet_antal = $newarray['antal'];
if ($varenr) {
echo "$hentet_varenr<br>;
echo "$hentet_beskrivelse<br>;
echo "$hentet_antal<br><br><br>;
}
}
else {
print ("varenr findes desværre ikke");
}
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