Pagina 1 van 2
WHERE cat = 'l' VS WHERE cat = $cat
Geplaatst: 28 jul 2004, 13:07
door LazyTiger
Code: Selecteer alles
$sql = "SELECT cat, band, link
FROM phpbb_bands
WHERE cat = 'l'
ORDER BY band ASC LIMIT $start, " . $board_config['topics_per_page'];
Code: Selecteer alles
$sql = "SELECT cat, band, link
FROM phpbb_bands
WHERE cat = $cat
ORDER BY band ASC LIMIT $start, " . $board_config['topics_per_page'];
de eerste sql werkt.
de 2de geeft:
Could not obtain bands and artists from bands table
DEBUG MODE
SQL Error : 1054 Unknown column 'l' in 'where clause'
SELECT cat, band, link FROM phpbb_bands WHERE cat = l ORDER BY band ASC LIMIT 0, 50
Line : 59
File : /usr/home/mfo/public_html/phpBB2/bands.php
de 'l' heeft hij dus wel, maar iets doet hij dus niet goed.
wat?
het moet overigens volgens de 2de manier werken, niet volgens de eerste.
Re: WHERE cat = 'l' VS WHERE cat = $cat
Geplaatst: 28 jul 2004, 14:11
door Leipo
Code: Selecteer alles
$sql = "SELECT cat, band, link
FROM phpbb_bands
WHERE 'cat = $cat'
ORDER BY band ASC LIMIT $start, " . $board_config['topics_per_page'];
En dit?
Re: WHERE cat = 'l' VS WHERE cat = $cat
Geplaatst: 28 jul 2004, 16:19
door Donny_nl
Leipo schreef:Code: Selecteer alles
$sql = "SELECT cat, band, link
FROM phpbb_bands
WHERE 'cat = $cat'
ORDER BY band ASC LIMIT $start, " . $board_config['topics_per_page'];
En dit?
Bijna goed;
Code: Selecteer alles
$sql = "SELECT cat, band, link
FROM phpbb_bands
WHERE cat = '".$cat."'
ORDER BY band ASC LIMIT $start, " . $board_config['topics_per_page'];[/
Geplaatst: 28 jul 2004, 16:33
door mosymuis
Is geen correct SQL Leipo
P.T., de error is logisch omdat er een string (de letter L) in de query wordt geplaatst zonder quotes. Als je alleen integers (cijfers) verwacht mag dat zonder quotes, maar gebruik dan wel de functie intval() om er zeker van te zijn dat er geen SQL errors in komen. Dat wordt dan dus
Code: Selecteer alles
$sql = "SELECT cat, band, link
FROM phpbb_bands
WHERE cat = ". intval($cat) ."
ORDER BY band ASC LIMIT $start, " . $board_config['topics_per_page'];
//edit
Donny was eerder
Geplaatst: 28 jul 2004, 18:12
door LazyTiger
euhm, ja..
dat werkt. (en weer wat bijgeleerd)
echter niet helemaal.
ik krijg nu namelijk elke keer dezelfde resultaten.
http://www.muziekforumonline.nl/phpBB2/bands.php?cat=l
http://www.muziekforumonline.nl/phpBB2/bands.php?cat=a
Geplaatst: 28 jul 2004, 18:25
door mosymuis
Welke code gebruik je nu? En je catagorieƫen worden aangeduid door letters zie ik?
Geplaatst: 28 jul 2004, 20:05
door LazyTiger
ik gebruik jouw code.
ik gebruik inderdaad alleen letters...
ik ga een grote database op zetten met allemaal links naar bands/artiesten.
ik ga nog wat extra dingen toevoegen. (melden van dode links, toevoegen van links, enz)
uit zo'n soort site is MFO ook ontstaan.
//edit
jouw code was voor cijfers.
die van donny werkt!
thanx allemaal.
Geplaatst: 29 jul 2004, 01:49
door mosymuis
P.T. schreef://edit
jouw code was voor cijfers.
Klopt, dat zei ik er ook bij.

Geplaatst: 29 jul 2004, 11:43
door LazyTiger
mosymuis schreef:P.T. schreef://edit
jouw code was voor cijfers.
Klopt, dat zei ik er ook bij.

daarom da tik he ook wist.

Geplaatst: 29 jul 2004, 13:57
door LazyTiger
waarom werkt dit wel bij 1 resultaat, maar niet bij 2?
Code: Selecteer alles
$sql = "SELECT cat, band, link, id
FROM phpbb_bands
WHERE cat = '".$cat."'
ORDER BY band ASC LIMIT $start, " . $board_config['topics_per_page'];
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain bands and artists from bands table', '', __LINE__, __FILE__, $sql);
}
while($row = $db->sql_fetchrow($result))
{
$band = $row['band'];
$sql = "SELECT topic_title, topic_id
FROM phpbb_topics
WHERE topic_title = '".$band."'";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain bands and artists from bands table', '', __LINE__, __FILE__, $sql);
}
while($row2 = $db->sql_fetchrow($result))
{
$template->assign_block_vars('bands_block', array(
"BANDS" => '<a href="' . $row['link'] . '" target="_blank">'.$row['band'].'</a>',
"DEAD" => append_sid("bands.$phpEx?action=dead&id=".$row['id']),
"TOPIC" => '<a href=http://www.muziekforumonline.nl/phpBB2/viewtopic.php?t=' . $row2['topic_id'] . '>' . $row2['topic_title'] . '</a>')
);
}
}
ik krijg namelijk nu helemaal geen resultaten te zien.
als ik de 2de sql weghaal wel, dus daar zit ergens het probleem.
Geplaatst: 29 jul 2004, 16:18
door Donny_nl
Als je geen foutmelding krijgt zijn je queries in orde. Ik zie ook geen fouten staan dus zal het probleem denk ik ergens bij de resultaten zijn. Kijk de tabellen even na of je ook daadwerkelijk datgene uit je tabellen haalt wat je zou moeten halen. loop de queries even na en kijk dus of alles juist staat.
Geplaatst: 29 jul 2004, 17:42
door LazyTiger
zelf zie ik even niks verkeerds.
ik weet niet of het ook wel correct is, 2 sql's in elkaar.
als er maar 1 resultaat is, geeft hij die weer.
maar zijn er meer resultaten, dan zie ik die niet.
Geplaatst: 29 jul 2004, 17:47
door Luuk
Dan denk ik dat het aan dit ligt:
ik weet niet waar $start voor staat, heb je die wel gedefineerd?
Geplaatst: 29 jul 2004, 23:37
door LazyTiger
die staat volgens mij gewoon goed.
check de error in mijn eerste bericht:
Could not obtain bands and artists from bands table
DEBUG MODE
SQL Error : 1054 Unknown column 'l' in 'where clause'
SELECT cat, band, link FROM phpbb_bands WHERE cat = l ORDER BY band ASC LIMIT 0, 50
Line : 59
File : /usr/home/mfo/public_html/phpBB2/bands.php
Geplaatst: 31 jul 2004, 11:48
door LazyTiger
ik heb het nu zo gedaan:
Code: Selecteer alles
$sql = "SELECT b.cat, b.band, b.link, b.id, t.topic_title, t.topic_id
FROM phpbb_bands b, phpbb_topics t
WHERE b.cat = '".$cat."'
AND t.topic_title = b.band
ORDER BY b.band ASC LIMIT $start, " . $board_config['topics_per_page'];
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain bands and artists from bands table', '', __LINE__, __FILE__, $sql);
}
while($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('bands_block', array(
"BANDS" => '<a href="' . $row['link'] . '" target="_blank">' . $row['band'] . '</a>',
"DEAD" => append_sid("bands.$phpEx?action=dead&id=".$row['id']),
"TOPIC" => '<a href=http://www.muziekforumonline.nl/phpBB2/viewtopic.php?t=' . $row['topic_id'] . '>' . $row['topic_title'] . '</a>')
);
}
ik krijg echter niet meer dan 1 resultaat.
volgens mij komt dit omdat hij topic_title met band vergelijkt.
wie kan me nu helpen aan een echt goede code?
wat is de bedoeling:
de bandnaam moet als linken worden weergegeven.
tevens moet hij dan nog zoeken of er een bijbehorende topic is en die moet hij dan als link er ook bij zetten.
als er geen topic bij is, moet hij niks weergeven.
zie hier een voorbeeld met bovenstaande code:
http://www.muziekforumonline.nl/phpBB2/bands.php?cat=l
wie o wie kan me aub helpen.
Geplaatst: 02 aug 2004, 19:51
door LazyTiger
de categorie van # werkt niet.
hoe kan ik zorgen dat ook # werkt als cat?
Geplaatst: 07 aug 2004, 14:38
door LazyTiger
iemand?
Geplaatst: 07 aug 2004, 15:23
door Stef
Werkt ?band=# niet? Lijkt me toch vreemd.
Geplaatst: 07 aug 2004, 16:27
door mosymuis
Stefkuh schreef:Werkt ?band=# niet? Lijkt me toch vreemd.
Nee, # is een teken dat de browser gebruikt om naar anchors binnen de pagina te navigeren. pagina.html#top, je kent het wel. Bij het adres pagina.php?band=# wordt dus een lege "band" variabele aangenomen, met een lege anchor verwijzing.
Geplaatst: 07 aug 2004, 16:38
door LazyTiger
klinkt logisch.
welk teken dat werkt zou ik dan kunnen gebruiken voor de categorie met cijfers en tekens?