Array id's zoeken in db

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sven

Sven

01/06/2008 18:39:00
Quote Anchor link
Hallo,

ik heb een array met id's uit een tabel, nu wil ik de gegevens die bij de rij'en horen met die id's uit de database halen, met een SELECT query. Maar, hoe deo ik dat met aan array?

Dus, ik heb een array met de waardes 5, 67, 90, 138, en dan wil ik de uit de database halen mbv SELECT * FROM table WHERE id=5, id=67, id=90, enz..

Zal vast heel simpel zijn :P
 
PHP hulp

PHP hulp

21/11/2024 20:54:27
 
Crispijn -

Crispijn -

01/06/2008 18:42:00
Quote Anchor link
Als ik het goed begrijp haal je eerst de id's uit de database, en daarna wil je de overige gegevens van die rij ophalen? Waarom haal je niet alles in één keer uit de database?
 
Scrptr

Scrptr

01/06/2008 18:42:00
Quote Anchor link
in plaats van de komma een OR waarschijnlijk
 
Onbekend Onbekend

Onbekend Onbekend

01/06/2008 18:43:00
Quote Anchor link
Wat dacht je van een JOIN ofzo? Dat scheelt iig weer één query.
 
Sven

Sven

01/06/2008 18:46:00
Quote Anchor link
@Crispijn:
ik haal op de ene pagina id's uit de database, of nou ja, je kunt selecteren mbw checkboxes.

@Tommy
Wat heb ik aan een join is zo een situatie? Het komt allemaal uit 1 tabel nl.

@Scrptr
met de komma's werkt wel, maar hoe tover ik
0 => 5
1 => 67
e.d. om naar id=5, id=67

Dus bijv. $conditions = implode(", id=", $_POST['array_met_ids']);
en dan mysql_query("SELECT * FROM tabel WHERE ".$conditions);

maar het probleem is, dat het eerste nummer van $conditions gaan id= heeft..
Snap je?
Gewijzigd op 01/01/1970 01:00:00 door Sven
 
Noppes

Noppes

01/06/2008 18:47:00
Quote Anchor link
Wat dacht je van WHERE IN (5, 67, 90, 138)

Je kan de array op simpele wijze imploden om het in de IN() te kunnen plaatsen.....
 
Sven

Sven

01/06/2008 18:50:00
Quote Anchor link
WHERE IN?
Nooit van gehoord? Hoe werkt het? Kan het nl. niet vinden in de reference manual van mysql..
 
Scrptr

Scrptr

01/06/2008 18:54:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$array
= array('8','6','9');
$ids = 'id='.implode(', id =', $array);
echo $ids;
// geeft id=8, id =6, id =9
?>

Dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$array
= array('8','6','9');
$ids = 'id='.implode(', id =', $array);
mysql_query("SELECT * FROM table WHERE ".$ids."");
?>
 
Onbekend Onbekend

Onbekend Onbekend

01/06/2008 18:54:00
 
Sven

Sven

01/06/2008 18:56:00
Quote Anchor link
@Scrptr
Bedankt, ik ga het proberen! Stom dat ik daar zelf niet aan had gedacht.. :P

@Tommy
Had ik al geprobeerd, maar met implode lukt het ook ;)

Edit:
Vreemd, ik krijg deze error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' id=60, id=63, id=66 ORDER BY name ASC' at line 1

op regel 1 staat alleen < ?php, verder niks, de regels met de query e.d. zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$conditions
= "id=".implode(", id=", $_POST['land']);
$res = mysql_query("SELECT * FROM landinfo WHERE ".$conditions." ORDER BY name ASC");
while($db = mysql_fetch_array($res)) {
?>
Gewijzigd op 01/01/1970 01:00:00 door Sven
 
Sven

Sven

01/06/2008 20:01:00
Quote Anchor link
Sorry, bump, maar, ik wil heel graag het antwoord vanavond nog hebben.. :)
 
Scrptr

Scrptr

01/06/2008 20:04:00
Quote Anchor link
line 1 refereerd naar line 1 van je sql, dus dat is je sql syntax,
waarschijnlijk kan id=0, id=8, id=7 etc niet
 
Citroen Anoniem Graag

Citroen Anoniem Graag

01/06/2008 20:05:00
Quote Anchor link
$conditions = implode(",", $_POST['land']);
$res = mysql_query("SELECT * FROM landinfo WHERE id IN(".$conditions.") ORDER BY name ASC");
while($db = mysql_fetch_array($res)) {
 
Sven

Sven

01/06/2008 20:10:00
Quote Anchor link
Haha zie je wel dat het werkt, bovenaan in het lijstje :P
Maar bedankt, het werkt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.