Toon posts:

[php] hoe met php zoeken in database

Pagina: 1
Acties:
  • 31 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik wil dus een 'IF ELSE' statement maken maar het lukt me niet echt.

Ik denk dat '$naam == $indatabase' is wat ik fout doe. Ik wil dus dat php mijn database gaat kijken of er in tabel 'NIEUWS' deze variable '$naam' in voor komt . Of nog liever in een bepaald kolom gaat kijken. Moet ik hiervoor 'mysql_query()' gebruiken ?

Hier is de code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   $effkijken = "select * from NIEUWS";
   $indatabase = mysql_query($effkijken)
   
if ($naam == $indatabase){
   $sqloudnieuws = "select * from NIEUWS where auteur = $naam";
   $resultaat = mysql_query($sqloudnieuws);
   $aantal = mysql_num_rows($resultaat);
   echo "<p><b>$aantal</b> geplaatste nieuws berichten:</p>";
   while ($record = mysql_fetch_object($resultaat)) {
   echo "
            <p>Titel: <b>$record->titel</b><br>
            $record->text<br>
            Auteur: $record->auteur<p>";
         }
         } ELSE {
    print ("Onder uw naam is nog geen nieuws gepost");
         }


Weet iemand waar ik info kan vinden hoe ik dit wel goed kan doen ? http://www.php.net/nl/functienaam doet het bij mij niet.

En weer iemand wat een foutmelding betekend die verwijst naar een regel die niet bestaat, dus zeg bv. err on line 9 terwijl je er maar 8 heb ?

[ Voor 16% gewijzigd door Verwijderd op 15-07-2003 21:16 ]


Verwijderd

$indatabase bevat True of False, wat bevat $naam ?
Hoe ver komt het script ?
Wat heb je al geprobeerd ?
Iets meer info zou van pas kunnen komen...

En gebruik: www.php.net/functienaam

Edit: Wat voor foutmelding dan ? Tip: Wees wat specifieker...

[ Voor 15% gewijzigd door Verwijderd op 15-07-2003 21:18 . Reden: Vraagjes ]


Verwijderd

Topicstarter
Verwijderd schreef op 15 July 2003 @ 21:15:
$indatabase bevat True of False, wat bevat $naam ?
Hoe ver komt het script ?
Wat heb je al geprobeerd ?
Iets meer info zou van pas kunnen komen...

En gebruik: www.php.net/functienaam
$naam is een variable waarvan de waarde ingevult wordt in een formulier op een andere pagina.
Maar ik heb het script niet geprobeert omdat ik het toch verkeerd doe en ik kan nergens info vinden waar staat hoe dit wel goed kan doen.

Ik zoek dus info :P Ik zal eff kijken op www.php.net/functienaam

Verwijderd

Topicstarter
Je kan daar dus op functienaam zoeken via google, ik weet alleen niet welke functie ik hiervoor moet gebruiken

Ik wil dus dat php gaat kijken of $naam in het database staat.

Eff het script getest en foutmelding is:

Parse error: parse error, unexpected T_IF in .....invoer.php on line 58

Line 58 is dus de regel met IF ELSE

[ Voor 87% gewijzigd door Verwijderd op 15-07-2003 21:31 ]


Verwijderd

Ik denk dat daarvoor beter de fulltext search functie van MySQL gebruikt kan worden, moet je even op www.mysql.com kijken...

Op deze manier kan je in ieder geval niet kijken of naam in de database staat, want $indatabase bevat niet alle records uit de database (wel soort van, maar niet als je bijv vergelijkt), je zal die dus of er uit moeten pakken met een mysql_fetch_* functie van PHP, of gebruikt bovengenoemde functie....

Edit: Tsjah, dat komt waarschijnlijk door die missende puntkomma (zie hieronder)

[ Voor 9% gewijzigd door Verwijderd op 15-07-2003 21:43 . Reden: Blaat ]


Verwijderd

ben geen mysql gebruiker, maar gebruik wel veel php, zie zo een aantal fouten

$indatabase = mysql_query($effkijken) moet een ; achter

wat wil je met $naam bereiken? die if statement is zin looos, je vergelijkt hier $naam met true of false en niet met de naam van de auteur

doe het zo
PHP:
1
2
3
4
5
6
7
 $effkijken = "select * from NIEUWS where auteur='$naam'"; 
   $indatabase = mysql_query($effkijken); 
    $record = mysql_fetch_object($resultaat);

if ($naam == $record->auteur)
{ 
enz....

[ Voor 4% gewijzigd door Verwijderd op 15-07-2003 21:31 ]


Verwijderd

Topicstarter
Verwijderd schreef op 15 July 2003 @ 21:29:

doe het zo
PHP:
1
2
3
4
5
6
7
 $effkijken = "select * from NIEUWS where auteur='$naam'"; 
   $indatabase = mysql_query($effkijken); 
    $record = mysql_fetch_object($resultaat);

if ($naam == $record->auteur)
{ 
enz....
Hoe kom je aan $resultaat ? uit IF {} , dat is bedoelt als ie IF gaat uitvoeren.
Ik heb het verandert in $indatabase. Toen gaf de IF ELSE statement geen problemen meer maar wat er in IF {} stond, meeste dus 2 comma's in de lucht bij
" select * from NIEUWS where auteur ='$naam' ". Nu doet ie het. Dankje voor de info ik kan weer verder gaan :)

[ Voor 6% gewijzigd door Verwijderd op 15-07-2003 21:55 ]


Verwijderd

Topicstarter
Alleen met error_reporting (E_ALL); zegt ie
Notice: "Undefined variable: blabla on line bla".

Is dat erg en wat kan ik er aan doen ? Want die variable zijn wel benoemd.

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Ik zou eerst eens wat tutorials gaan proberen en de basics gaan beheren. Parse errors (fouten in puntkomma's ed.) moet je altijd zelf op kunnen lossen met de foutmelding of het regelnummer erbij. Beter is het nog om netter te programmeren ;)
Gebruik dus niet nutteloze namen als effekijken ed, want daar begrijp je later niets meer van. Daarom gaan die topics ook op slot hier in P&W :)

Dit niet om jou te pesten oid, maar gewoon om het hier aantrekkelijk te houden voor iedereen, degene die lang of kort programeert :)

Verder beoordelen we je post nav de moeite die je erin steekt. Je moet dus zelf al dingen geprobeerd hebben voordat je hier gaat posten, anders zijn we niets dan je helpdesk en we hebben dan wel leukere dingen te doen ;)

Kortom zoek nog eens in de duizenden PHP tutorials op het web (links voldoende op www.php.net) en happy learning :)
Pagina: 1

Dit topic is gesloten.