Hallo,

Ik probeer in mijn PHP script een search uit de MYSQL database te halen. Ik zit met 1 probleem. De gegevens die uit de database moet worden getoond worden als een article laten zien. Dit is mijn code:


<?php
include_once('../includes/connection.php');
include_once('../includes/article5.php');

$article = new Article;
$articles = $article->fetch_all();

foreach ($articles as $article) {  ?>
 <A href="article5.php?id=<?php echo $article['id'];?>" onclick="window.open('article.php?id=<?php echo $article['id'];?>','Live',
'width=400,height=500,scrollbars=no,toolbar=yes,location=yes'); return false">">
<?php echo $article['voorenachternaam']; ?><?php echo $article['datum']; ?><?php echo $article['telefoonnummer']; ?>


</a>
<?php } } ?>


Hoe krijg ik het toch voor mekaar om als een article een search te doen?

Julian
Bedoel je dat je met een zoekwoord naar artikelen wilt kunnen zoeken?

Dan kun je in deze opzet bijvoorbeeld in de lus foreach ($articles as $article) bijvoorbeeld controleren of een string met de zoekopdracht voorkomt in $artikel.

Netter is het echter om niet alle artikelen uit de database op te halen, maar alleen de artikelen te selecteren waarin het zoekwoord voorkomt.
Ik zie nu een foreach die artikelen doorloopt. Wat lukt er niet aan?
Ik had eerst in de SELECT neergezet WHERE naam LIKE en dan de search. Dit werkte niet door de $article. Er wordt hier anders contact met de database gemaakt waardoor het moeilijker wordt om een search te maken.
Het is (mij) nog steeds niet helemaal duidelijk wat het probleem is, "Dit werkte niet door de $article" snap ik niet helemaal? en blijkbaar beïnvloed de connectie met de database je select query? Laat eens de SELECT query zien die je nu hebt + de output die je daarmee krijgt, misschien wordt het dan duidelijker.
Ik heb in een ander bestand :article5.php wordt verbinding gemaakt met mijn database tabel, en wordt een article class aangemaakt:
<?php

class Article {
    public function fetch_all() {
    global $pdo;

     $query = $pdo->prepare("SELECT * FROM app ORDER BY datum DESC ");
     $query->execute();

     return $query->fetchAll();
     
    }
    public function fetch_data($article_id) {
    	global $pdo;


    	$query = $pdo->prepare("SELECT * FROM app WHERE article_id = ?");
    	$query->bindValue(1, $article_id);
    	$query->execute();

    	return $query->fetch();
    }
}

?>


Hier zou ik LIKE WHERE moeten zetten in de SELECT. Alleen hoe krijg ik de zoekterm in dit bestand?
Properties toevoegen aan je fetch_data methode, of een aparte fetch_like methode maken?

Tevens: global $pdo? wtf?
Hoe krijg ik dan de zoekterm binnen van het formulier?
Thomas van den Heuvel op 01/11/2015 14:25:57

Tevens: global $pdo? wtf?


Enige uitleg is niet overbodig ;)

Reageren