[php&mysql]10 rijen uit 1 tabel (t lijkt makkelijk...)

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

  • Ed.
  • Registratie: Augustus 2001
  • Laatst online: 26-09-2022
Ik loop weer vast. Natuurlijk heb ik weer de search, php.net, google + phpboekje wat ik hier heb geraadpleegd.

Probleem:
Ik wil 10 verschillende rijen uit m'n mysql tabel halen. Elke rij heeft een uniek id. Via de ID wil ik aangeven welke 10 rijen eruit gehaald moeten worden.
Iets dus als:
$id1 = "230";
$id2 = "521";
$id3 = "23";

alleen als ik:
PHP:
1
2
3
4
$query = "SELECT id, title, kort FROM tabel";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {

waarna ik via $rij[title] de titel uit $id2 wil hebben. Maar hoe zeg ik dat ie 't uit $id2 haalt? en hoe doe ik dit dan ook voor $id3 etc.?

Volgens mij is dit redelijk simpel, zo simpel dat 't nergens uitgelegd staat :P

  • dream0r
  • Registratie: Oktober 2001
  • Niet online
WHERE id = '1' OR id = '2' etc ?

Dat moet toch gewoon kunnen ? Of lees ik het verkeerd ?

[ Voor 31% gewijzigd door dream0r op 23-03-2003 19:17 ]


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 23-08 18:13
Maak er eens van SELECT id, title, kort FROM tabel WHERE id IN (id1, id2, ..., id10)

  • Ed.
  • Registratie: Augustus 2001
  • Laatst online: 26-09-2022
Ah, ok, bedankt!

En hoe doe ik dat dan met $rij[title] ? hoe zeg ik 'm dat ie die title uit $id2 moet halen?

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
<?php

$sql = "SELECT id,title FROM table WHERE id='$id2'"; 
$query = mysql_query($query2) or die (mysql_error());
$result = mysql_fetch_array($query);

echo $result['title'];


?>


toch ni moeilijk ?!

  • Ed.
  • Registratie: Augustus 2001
  • Laatst online: 26-09-2022
Ja, dat snap ik dus ook :) alleen moet ik dan 10x zo'n select maken? dat is de vraag

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?php 

$sql = "SELECT id,title FROM table WHERE id IN($id1, $id2, $id3, $id4, $id5, $id6, ...)";  
$query = mysql_query($sql) or die (mysql_error()); 
while($result = mysql_fetch_array($query)) { 

echo $result['title']; 

} 

?>


zo dan ?

[ Voor 6% gewijzigd door Verwijderd op 23-03-2003 20:27 ]


  • Ed.
  • Registratie: Augustus 2001
  • Laatst online: 26-09-2022
Sorry, ik denk dat ik te vaag ben geweest.
Wat ik wil is idd ongeveer zoiets als wat je net liet zien Breezah, maar ik wil alle outputs (dus welke ID en title) apart eruit kunnen halen voor een link. Ik wil die nl. opslaan als variabele en later in 't script hergebruiken.

  • Ed.
  • Registratie: Augustus 2001
  • Laatst online: 26-09-2022
hmmz... nog maar een keer proberen. Zo werkt 't:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
$id1 = "1";
$id2 = "48";
$id3 = "100";
$id4 = "160";
$id5 = "17";
$id6 = "20";
$id7 = "107";
$id8 = "105";
$id9 = "97";
$id10 = "96";

$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id1";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart1title = "$rij[title]";
$chart1kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id2";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart2title = "$rij[title]";
$chart2kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id3";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart3title = "$rij[title]";
$chart3kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id4";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart4title = "$rij[title]";
$chart4kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id5";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart5title = "$rij[title]";
$chart5kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id6";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart6title = "$rij[title]";
$chart6kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id7";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart7title = "$rij[title]";
$chart7kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id8";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart8title = "$rij[title]";
$chart8kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id9";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart9title = "$rij[title]";
$chart9kort = "$rij[kort]";
}
$query = "SELECT id, title, kort FROM filminfo_news WHERE ID = $id10";
$result = mysql_db_query($dbnaam, $query, $mysqlverbinding);
 
while ($rij = mysql_fetch_array($result )) {
$chart10title = "$rij[title]";
$chart10kort = "$rij[kort]";
}


Maar dit ziet er natuurlijk afschuwelijk uit! Hoe kan dit anders? (lees: beter)
[edit]
dit doet dus wel precies wat ik wil! Maar volgens mij is dit niet zo gezond, 10x dezelfde tabelaanroepen...

[ Voor 12% gewijzigd door Ed. op 23-03-2003 23:01 ]


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Dit is echt verschrikkelijk basic PHP en MySQL werk... Zonder je voor je schenen te schoppen, zou ik je toch vriendelijk willen verzoeken om met dergelijk werk even bij beginnersweb langs te hoppen als je er met de manuals niet uit komt :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1

Dit topic is gesloten.