//Hent indholdet i database $soeg = mysql_query("SELECT * FROM `kunder` WHERE firmanavn = '".$firma."'")or die (mysql_error()); while ($row = mysql_fetch_array($soeg, MYSQL_ASSOC)) {
Der er da vist noget galt! nu henter den alle poster i db'en, også selv om jeg ikke taster noget!
Synes godt om
Slettet bruger
21. november 2008 - 12:03#8
?? Der er ikke umiddelbart nogen fejl at se. Hvordan har du sat det sammen med søgefelter, der skal udfyldes.
Hvis der ikke er indtastet noget, skal der så komme en fejlmeddelelse? Det kan du jo teste ved en simpel IF-kommando (det er vist nok noget i retningen af følgende i PHP):
if($firma=="") { echo "Du har ikke indtastet et firmanavn i søgefeltet" }
if sætter bare "du har ikk..... i bunden, men henter alligevel db indeholdet. Et lille udsnit af min søgeform (jeg har prøvet med bare et søgefelt, samme resultat)
if($firma=="") { echo "Du har ikke indtastet et firmanavn i søgefeltet" } else { //Hent indholdet i database $soeg = mysql_query("SELECT * FROM `kunder` WHERE firmanavn = '".$firma."'")or die (mysql_error()); while ($row = mysql_fetch_array($soeg, MYSQL_ASSOC)) {
//Viser forespørgelse echo " ... }
Så udføres database-forspørgslen KUN, hvis feltet ikke er tomt.
if($firma=="") { echo "Du har ikke indtastet noget i søgefeltet"; } else {
//Hent indholdet i database $soeg = mysql_query("SELECT * FROM `kunder` WHERE firmanavn = '".$firma."' OR adr = '" .$adr."' OR postnr = '" .$postnr."' OR bynavn = '" .$bynavn."' OR land = '" .$land."' OR tlf = '" .$tlf."' OR fax = '" .$fax."' OR -e_fornavn = '" .$e_fornavn."' OR e_efternavn = '" .$e_efternavn."' OR e_mobil = '" .$e_mobil."' OR e_mail = '" .$e_mail."' OR k_fornavn = '" .$k_fornavn."' OR k_efternavn = '" .$k_efternavn."' OR k_mobil = '" .$k_mobil."' OR k_mail = '" .$k_mail."'" )or die (mysql_error());
{ while ($row = mysql_fetch_array($soeg, MYSQL_ASSOC))
Jeg er ikke selv helt så PHP-kyndig endnu, så dertil har vi brug for nogle PHP-eksperter, hvis det er dér fejlen ligger. Men i selve SQL'en synes jeg ikke, at jeg kan se nogle problemer.
Men lige et par spørgsmål til denne kodebid...
$soeg = mysql_query("SELECT * FROM `kunder` WHERE firmanavn = '".$firma."' OR adr = '" .$adr."' OR postnr = '" .$postnr."' OR bynavn = '" .$bynavn."' OR land = '" .$land."' OR tlf = '" .$tlf."' OR fax = '" .$fax."' OR -e_fornavn = '" .$e_fornavn."' OR e_efternavn = '" .$e_efternavn."' OR e_mobil = '" .$e_mobil."' OR e_mail = '" .$e_mail."' OR k_fornavn = '" .$k_fornavn."' OR k_efternavn = '" .$k_efternavn."' OR k_mobil = '" .$k_mobil."' OR k_mail = '" .$k_mail."'" )or die (mysql_error());
- Hvorfor sætter du apostroffer (eller er det accent-tegn) omkring tabelnavnet "kunder"? - Du har sat en bindestreg foran ordet "e_fornavn". Det er vist en fejl. - Og så lige et PHP-spørgsmål: Er der ikke problemer i at lave mellemrum hist og pist men ikke alle steder? Fx sætter du tit mellemrum før punktummet, når du skal skrive en variabel, som her: ... k_efternavn = '" .$k_efternavn." ... Men ikke altid og kun i den ene side - Men det er måske ligemeget...
Jeg har rettet mellemrun, apostroffer og bindesteger, forskellen er ens :-( men det var da flot set :-)
Synes godt om
Slettet bruger
21. november 2008 - 13:43#16
Men har du stadig apostroffer omkring tabelnavnet "kunder"? Fjern dem, de skal ikke være der.
Ellers kan jeg ikke lige se problemet. Lad os håbe der kommer en barmhjertig PHP-ekspert forbi ;) Jeg programmerer selv i ASP og er kun lige gået i gang med at studere PHP-området...
Det kunne være fordi der kun bliver tjekket på $firma og derfor kan resten af variablerne være tomme og det betyder at den skal finde alle række med $firma i et felt eller hvis ethvert andet felt er tomt..
Okay! Så behøver du ikke skære det det i pap alligevel, viste bare ikke det hed sådan.
Takker!
Synes godt om
Ny brugerNybegynder
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.