Spullen ophalen uit database
ik ben bezig met het maken van een lijst met artiesten. ik heb een stuk gemaakt die dus heel mooi alles op abc volgorde zet. alleen kom ik er nu niet meer uit omdat ik nog 1 ding wil toevoegen. dat is namelijk ik wil niet alle artiesten tonen ik heb bepaalde categorieën in mijn database. gewoon simpel elke artiest heeft een categorie. ik wil dus categorie nummer 1 alleen laten zien. hoe pas ik dat toe in mijn stukje ?? kan iemand mij hiermee helpen !
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$qry = "SELECT ID, naam, categorie, LEFT(naam, 1) AS foto FROM artiesten WHERE UPPER(naam) BETWEEN 'A' AND 'Z' OR naam BETWEEN '0' AND '9' ORDER BY naam";
$result = mysql_query($qry);
$current_char = '';
while ($row = mysql_fetch_assoc($result)) {
if ($row['foto'] != $current_char) {
$current_char = $row['foto'];
echo '<div class="clearboth" style="padding: 10px 0px 0px 0px;"> ' . strtoupper($current_char) . '<br />-----<br /></div> ';
}
echo '<div class="clearboth"><a href="lees.php?ID='.$row['ID'] . '&naam='.$row['naam'] . '">'.$row['naam'] . '</a><br/> in het geheel <br/> test</div>';
}
?>
$qry = "SELECT ID, naam, categorie, LEFT(naam, 1) AS foto FROM artiesten WHERE UPPER(naam) BETWEEN 'A' AND 'Z' OR naam BETWEEN '0' AND '9' ORDER BY naam";
$result = mysql_query($qry);
$current_char = '';
while ($row = mysql_fetch_assoc($result)) {
if ($row['foto'] != $current_char) {
$current_char = $row['foto'];
echo '<div class="clearboth" style="padding: 10px 0px 0px 0px;"> ' . strtoupper($current_char) . '<br />-----<br /></div> ';
}
echo '<div class="clearboth"><a href="lees.php?ID='.$row['ID'] . '&naam='.$row['naam'] . '">'.$row['naam'] . '</a><br/> in het geheel <br/> test</div>';
}
?>
Je gaat vreemde WHERE clauses maken terwijl je de simpelste over het hoofd ziet:
Mohammed el-faquir op 07/12/2012 23:07:28:
inderdaad ik weet dat ook maar als ik het in mijn stuk wil verwerken pakt hij dit niet :
als ik dus dit doe :
Krijg ik deze foutmeldig :
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /volume1/Web/islam4u/koran.php on line 133 verghbser
Ger van Steenderen op 06/12/2012 16:30:46:
inderdaad ik weet dat ook maar als ik het in mijn stuk wil verwerken pakt hij dit niet :
Code (php)
1
$qry = "SELECT ID, naam, categorie, LEFT(naam, 1) AS foto FROM artiesten WHERE UPPER(naam) BETWEEN 'A' AND 'Z' OR naam BETWEEN '0' AND '9' ORDER BY naam";
als ik dus dit doe :
Code (php)
1
2
2
qry = "SELECT ID, naam, categorie, LEFT(naam, 1) AS foto FROM artiesten WHERE categrorie = 1 UPPER(naam) BETWEEN 'A' AND 'Z'
OR naam BETWEEN '0' AND '9' ORDER BY naam";
OR naam BETWEEN '0' AND '9' ORDER BY naam";
Krijg ik deze foutmeldig :
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /volume1/Web/islam4u/koran.php on line 133 verghbser
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$qry = "SELECT ID, naam, categorie, LEFT(naam, 1) AS foto FROM artiesten WHERE categrorie = 1 UPPER(naam) BETWEEN 'A' AND 'Z'
OR naam BETWEEN '0' AND '9' ORDER BY naam";
$result = mysql_query($qry);
$current_char = '';
>> dit is line 133 >> while ($row = mysql_fetch_assoc($result)) {
if ($row['foto'] != $current_char) {
$current_char = $row['foto'];
OR naam BETWEEN '0' AND '9' ORDER BY naam";
$result = mysql_query($qry);
$current_char = '';
>> dit is line 133 >> while ($row = mysql_fetch_assoc($result)) {
if ($row['foto'] != $current_char) {
$current_char = $row['foto'];
Gewijzigd op 07/12/2012 23:14:34 door mohammed el-faquir
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$categorie = 34;
$qry = "
SELECT id, naam, categorie, LEFT(naam, 1) AS foto
FROM artiesten
WHERE categorie = ".intval($categorie)."
ORDER BY naam";
?>
$categorie = 34;
$qry = "
SELECT id, naam, categorie, LEFT(naam, 1) AS foto
FROM artiesten
WHERE categorie = ".intval($categorie)."
ORDER BY naam";
?>
Je schreef categorie fout.
Dat filteren op A-Z en 0-9 ... waarom doe je dit? Wat houdt het tegen? Lege rijen?
Die 1 moet je natuurlijk even zelf aanpassen.
Je vergeet AND
WHERE categrorie = 1 AND UPPER(naam)