variabele aanmaken met data uit database
Ik ben al een tijdje op zoek naar de juiste code of script om een variabele aan te maken welke ik kan gebruiken om weer te geven in een html pagina of zelfs in een "send mail" script.
Ik gebruik PDO om de connectie te maken met de database.
Wat ik dus wil bereiken is dat ik een variabele kan maken welke de data weergeeft van 1 veld uit een bepaalde rij uit de database.
bvb. Ik heb een tabel met enkele velden (id, status, datum, event, ...) en ik wil nu de data die in het veld "event" staat weergeven via een echo in een html pagina.
Maar ik wil dit kunnen doen voor meerdere rijen maar ook weer niet alle rijen. Dus ik wil bvb de data uit het veld "event" van rij 1, 5, 7, ...
Ook had ik dan nog graag die variabele kunnen gebruiken in een php send mail script.
Kunnen jullie mij hier raad in geven of een voorbeeldje van de code bezorgen?
Ik ben nog niet zo heel behendig in PHP.
Ik hoop dat het een klein beetje duidelijk is, anders hoor ik graag jullie extra vragen.
Groeten,
Wim
Gewijzigd op 19/04/2020 13:24:52 door - Ariën -
Code (php)
Dan krijg ik als waarde "Array" terug en iet de waarde die in het veld "event" staat voor de gevraagde query.
Gewijzigd op 19/04/2020 13:44:42 door - Ariën -
PHP weet niet wat je wilt tonen, en hoe je het wilt visualiseren, dus dan zegt hij dat.
Je moet $ev46 uiteraard even door foreach() halen.
Overigens raad ik aan om geen queries te nummeren, omdat dit sneller tot onduidelijkheid kan leiden.
Benoem liever wat het moet doen. Ook hoop ik dat je geen queries in een loop gebruikt, omdat je hiermee veel dure resources verbruikt.
Gewijzigd op 19/04/2020 13:50:10 door - Ariën -
Bedankt voor de info maar zoals vermeld ben ik een beginner in php en weet ik niet zo goed hoe ik dit in code moet vertalen. Kan je me misschien de juiste code bezorgen?
Bedankt
Graag gedaan, hopelijk lukt het.
Ik denk ook dat je me verkeerd hebt begrepen met wat ik wil.
Ik heb een tabel met 46 rijen waar data in staat.
Ik wil in html bvb de waarde van 1 veld uit een bepaalde rij weergeven en daarna een andere rij met de waarde van 1 veld maar niet alle rijen.
Ik wil zelf bepalen welke rijen er worden weergegeven.
Maar maakt niet uit hoor, ik zoek wel verder.
Nogmaals bedankt.
Je kan je query aanpassen met een WHERE....IN...., zodat je een beperking kan opleggen.
Zie ook: https://www.w3schools.com/sql/sql_in.asp
Gewijzigd op 19/04/2020 14:31:54 door - Ariën -
Nogmaals bedankt.
Maar ik denk dat ik het beter op een andere simpelere manier ga doen en de data uit een andere pagina ga halen.
Dan moet ik al de data die in de database staat wel overtypen in een pagina.
Bedankt voor je hulp maar als iemand aangeeft dat hij een echte beginner is en al lang aan het zoeken is dan gaat hij het met uw hints niet klaar krijgen vrees ik, ik toch niet.
Voor mij mag je dit topic afsluiten want hier ga ik er niet uit geraken.
Ik was vroeger ook een beginner, en na veel proberen en documentaties lezen lukte het mij ook.
Probeer deze query eens, en pas hem eventueel aan.
SELECT event FROM events WHERE id IN (1,5,7) AND indexev='ev46' AND active='Actief'
Weer bedankt voor de info maar dan heb ik nog niets aan die foreach.
En ik zou die waarde ook in het send mail script moeten krijgen wat dan ook niet gaat lukken vrees ik.
Ik heb nu dit als code:
Code (php)
Die dat extra stukje van IN(...) maakt het totaal geen verschil.
Dan geeft hij de juist waarde weer maar dat is niet wat ik in gedachte had. (dit kan ik dus niet in het send mail script steken.)
Ik was van het idee dat ik een bepaalde variabele kon aan maken die ik dan kon gebruiken om als echo te gebruiken in het html gedeelte en in het send mail script (dit script: $sent = mail($to, $subject, $body, $headers);)
Maar hier zie ik met dit geen oplossing in.
Gewijzigd op 19/04/2020 15:05:27 door - Ariën -
Je wilt de inhoud van de foreach dus toepassen in je mail() functie?
inderdaad.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
ob_start();
foreach ($ev46 as $row) {
echo $row['event'];
}
$content = ob_get_contents();
ob_end_clean();
// $content kan je hier in je mail(.....) gebruiken.
?>
ob_start();
foreach ($ev46 as $row) {
echo $row['event'];
}
$content = ob_get_contents();
ob_end_clean();
// $content kan je hier in je mail(.....) gebruiken.
?>
Gewijzigd op 19/04/2020 15:10:27 door - Ariën -
Nog een prettige zondag.
Hopelijk lukt dit!
ik heb het nog vlug getest en dit werkt. Dit is wat ik nodig had.
Nogmaals heel hard bedankt voor de info en om geduld met mij te hebben.
Groeten,
Wim
Graag gedaan. :-)