Toon posts:

PHP/MySql

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem met een PHP zoekscriptje wat gegevens haalt uit een Mysql database.
Na vele tutorials en hulp ben ik zover gekomen dat het lijkt of alles werkt.
er is echter nog 1 probleempje,

de html - 1 keuzelijstje voor zoeken op land
- 2 invulboxen

Als ik in een van de invulboxen een waarde (b.v. Boot) ingeef die geen resultaat oplevert dan behoort ik op het scherm te printen - Helaas zijn er geen reizen gevonden die voldoen aan uw zoekcreteria. Raar genoeg print ie de 2e zin wel (Klik hier om terug te gaan)

http://www.eurostar-services.nl/temp/zoekreis.htm Daar staat het

hier het stukje van het script waar volgens mij de fout in zit:


// Maak de SQL-query
if(!empty($bestemming) || !empty($vervoer) || !empty($accomedatie)) {
$sql = "SELECT * FROM reizen WHERE";
if(!empty($bestemming)) {
$sql .= " bestemming='$bestemming'";
if(!empty($vervoer) || !empty($accomedatie)) $sql .= " AND ";
}
if(!empty($vervoer)) {
$sql .= " vervoer='$vervoer'";
if(!empty($accomedatie)) $sql .= " AND ";
}
if(!empty($accomedatie)) $sql .= " accomedatie ='$accomedatie'";
} else
echo "Helaas zijn er geen reizen gevonden die voldoen aan uw zoekcreteria.";
echo "Ga terug door<a href='zoekreis.htm'> <B>hier</B></a> te klikken.";

Jullie knappe koppen zien vast wel wat ik nie zie :)

Verwijderd

PHP:
1
2
3
4
5
<?
} else
  echo "Helaas zijn er geen reizen gevonden die voldoen aan uw zoekcreteria.";
  echo "Ga terug door<a href='zoekreis.htm'> <B>hier</B></a> te klikken.";
?>

omdat je na de else de haakjes vergeten bent neemt hij nu alleen de eerste echo op in de haakjes, de tweede zin print hij altijd.

gebruik dus
PHP:
1
2
3
4
5
<?
} else {
...
}
?>

Verwijderd

Topicstarter
Heb ik inmiddels ook geprobeerd...en ook om de 2e regel (klik hier bla bla) tussen haakjes te zetten....nope..

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op vrijdag 11 januari 2002 00:50 schreef Moonie het volgende:
Heb ik inmiddels ook geprobeerd...en ook om de 2e regel (klik hier bla bla) tussen haakjes te zetten....nope..
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
if(!empty($bestemming) || !empty($vervoer) || !empty($accomedatie)) 
{
    $sql = "SELECT * FROM reizen WHERE";
    if(!empty($bestemming)) 
    {
        $sql .= " bestemming='$bestemming'";
    }
    if(!empty($vervoer) || !empty($accomedatie)) 
    {
        $sql .= " AND "; 
    }
    if(!empty($vervoer)) 
    {
        $sql .= " vervoer='$vervoer'";
    if(!empty($accomedatie)) 
    {
        $sql .= " AND ";
    }
    if(!empty($accomedatie))
    {
         $sql .= " accomedatie ='$accomedatie'";
    }
} 
else
{
    echo "Helaas zijn er geen reizen gevonden die voldoen aan uw zoekcreteria.";
    echo "Ga terug door<a href='zoekreis.htm'> <B>hier</B></a> te klikken.";
}
?>

syntax errors uitgesloten moet dit goed zijn (heb btw wel het eea aangepast aan je if's en ze ff uitgelijnd)

Doet iets met Cloud (MS/IBM)


  • Speed24
  • Registratie: Augustus 1999
  • Niet online
Ik zou er ook ff een nederlandse spellingchecker overeen halen ... nogal slordig als je taalfouten maakt in variabelen als accomedatie ( --> "accomodatie" )

:D

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op vrijdag 11 januari 2002 08:21 schreef speed24 het volgende:
Ik zou er ook ff een nederlandse spellingchecker overeen halen ... nogal slordig als je taalfouten maakt in variabelen als accomedatie ( --> "accomodatie" )

:D
ach als je dat als naam van je var aanneemt en het in je form post zal dat mij een rotzorg zijn
ik heb zijn code opgemaakt maar niet door het groene boekje gehaald
ben allang blij dat zijn vars niet value1,value2 ed heten

Doet iets met Cloud (MS/IBM)


  • Speed24
  • Registratie: Augustus 1999
  • Niet online
Op vrijdag 11 januari 2002 08:22 schreef D2k het volgende:

[..]

ach als je dat als naam van je var aanneemt en het in je form post zal dat mij een rotzorg zijn
ik heb zijn code opgemaakt maar niet door het groene boekje gehaald
ben allang blij dat zijn vars niet value1,value2 ed heten
Ja ohkee, maar stel dat iemand anders de code later wil gebruiken of zo (in dit geval maybe niet relevant, maar toch) en dan heb jij er taalfouten in zitten ... dat is behoorlijk irri, moet je of overal alles verbeteren of gewoon ermee leven (en de foute namen onthouden).

Ik zeg niet dat het hier zo boeit, maar stel dat je later van zoiets je beroep maakt ... dan heb je een hele verkeerde basis gelegd.

Verwijderd

Topicstarter
Taalfoutjes zal ik er meteen uithalen :o
thanks

en Hij is en Zij :)

Ik ga het meteen even proberen.
Weet iemand toevallig een goede tutorial over dit soort scripten (liefst NL) heb op phpfreaks en op php.net gekeken maar kan niets vinden.

Verwijderd

Topicstarter
OK..ik heb vandaag het complete handboek gekocht en ben gaan lezen...nog een keertje het script door genomen en echo vervangen door print....snap een hoop meer maar DIT?
nu krijg ik de foutmelding parse error op regel 65?

daar staat alleen </html> ??
Dus met andere woorden...hij leest het hele script door maar als ik de html tag afsluit geeft ie problemen..
iemand dit ooit eerder gehad?


echo "<A HREF='toondetail.php?reis=$record->reisID'>$record->bestemming</A>\n";
echo "</TD>\n";
}
echo "</TR>\n";
?>

</TABLE>
</BODY>
</HTML>

Verwijderd

Kan zijn dat je op een van de vorige regels bijvoorbeeld een " vergeten bent ofzo

  • KlaasB
  • Registratie: Juli 2000
  • Laatst online: 01-07-2024
[off topic]

En waarom voor elke regel weer een echo?
Dit werkt toch ook:
PHP:
1
2
3
4
5
6
<?
  echo "dit is een bende onzin tekst om te laten zien wat
        ik nou eigenlijk bedoel. Als je het dan ook nog
        op deze manier in je code zet, blijf ik het lekker
        leesbaar vinden";
?>

It's not a bug, it's a feature


Verwijderd

Topicstarter
tja daar heb ik niet bij stil gestaan..werk aan de hand van voorbeelden uit tutorials en uit het boek

doe m'n best:-)
ga eens kijken of ik de code wat "leger" kan maken

maar het probleem van niet printen blijft. Ik kan kiezen tussen het niet weergeven van - Geen reizen gevonden - of een parse error in de laatste lijn (zoals boven beschreven)

Is er echt niemand die mij hierbij kan helpen? :'(

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zaterdag 12 januari 2002 12:29 schreef Moonie het volgende:
tja daar heb ik niet bij stil gestaan..werk aan de hand van voorbeelden uit tutorials en uit het boek

doe m'n best:-)
ga eens kijken of ik de code wat "leger" kan maken

maar het probleem van niet printen blijft. Ik kan kiezen tussen het niet weergeven van - Geen reizen gevonden - of een parse error in de laatste lijn (zoals boven beschreven)

Is er echt niemand die mij hierbij kan helpen? :'(
dan zal je echt met je hele code moeten komen
zo kunnen we het niet zien natuurlijk. :
ik wil je code echt nog wel een keertje opmaken zoals de vorig keer.

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Natuurlijk wil ik de code wel even hier neer planten...heb hem nog niet opgeschoond.....wel de hele middag zitten prutsen samen met een PHPer op ICQ, maar ben nog geen stap verder ( hij weigert echo "Helaas zijn er geen reizen gevonden die voldoen aan uw zoekcreteria"; op het scherm weer te geven)Script is dus enigzins omgegooid maar werkt nog steeds niet helemaal.

komt ie:<HTML>

<HEAD>

<META http-equiv="pragma" content="no-cache">
<META http-equiv="expires" content="0">
<META http-equiv="cache-control" content="no-cache">
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</HEAD>
<body>
<?php
/* Maak verbinding met de database */
$database_server = mysql_connect("localhost", "eurostar", "die weet ik");

// Selecteer de 'werk'-database
mysql_select_db("eurostar", $database_server);


// Maak SQL-query
$sql = "SELECT * FROM reizen";

// Maak de SQL-query
if(!empty($bestemming) || !empty($vervoer) || !empty($accomedatie)) {
$sql = "SELECT * FROM reizen WHERE";
if(!empty($bestemming)) {
$sql .= " bestemming='$bestemming'";
if(!empty($vervoer) || !empty($accomedatie)) $sql .= " AND ";
}
if(!empty($vervoer)) {
$sql .= " vervoer='$vervoer'";
if(!empty($accomedatie)) $sql .= " AND ";

}
if(!empty($accomedatie))
$sql .= " accomedatie ='$accomedatie'";
// Voer die query uit
$resultaat = mysql_query($sql);

// Aantal rijen
$aantal = mysql_num_rows($resultaat);

echo "<table border='0' cellpadding='0' cellspacing='0' width='625'>\n";


// Maak een lus om alle items te laten zien

while ($record =mysql_fetch_object($resultaat)){
echo "<tr>\n";
echo "<td valign='top' align='center' width='25%'>\n";
echo "<A HREF='toondetail.php?reis=$record->reisID'>$record->bestemming</A>\n";
echo "</TD>\n";
echo "</TR>";
}
} else
echo "Helaas zijn er geen reizen gevonden die voldoen aan uw zoekcreteria";

echo "Ga terug door<a href='zoekreis.htm'> <B>hier</B></a> te klikken.";



?>
</TABLE>
</BODY>
</HTML>

Verwijderd

Topicstarter
Hij doet het!!!! helemaal blij ben ik..

Dank je wel D2K voor je hulp !!!!

Deze topic mag gesloten worden :)
Pagina: 1