Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Waarschijnlijk het wat in de URL staat niet artiest.nameHet zal eerder artiest_name of gewoon artiest of name zijn.
artiest.name = '". $_GET['artiest'] ."'
Die twee velden bevatten niet dezelfde soort data, dus dat werkt niet.
Als je info op wilt halen met een naam, moet je het zo doen:
[sql]
SELECT *
FROM lied
INNER JOIN artiest ON lied.artiestid = artiest.id
WHERE artiest.name = "Reel Big Fish"
[/sql]
Dat idee. Weet niet of de namen kloppen en je zult zelf de $_GET ergens toe moeten voegen![]()
SELECT * FROM lied INNER JOIN artiest ON '". $_GET['artiest'] ."' = artiest.aid WHERE artiest.aid = artiest.name
Dat werkt inderdaad niet, je hebt nu een rare JOIN gemaakt. Kijk nog eens naar mijn voorbeeld, je moet nooit velden koppelen die verschillende informatie bevatten (zoals naam en ID) want die zullen nooit gelijk zijn.
Weet niet of de namen kloppen
effe daarover,
de tabelnamen zijn Nederlands en de kolommen zijn engels![]()
error_reporting( E_ALL );
Das behoorlijk inconsistent en onhandig.
Wat jij volgensmij nodig hebt is wat error handling. Als je een wit scherm krijgt heb je ergens een PHP fout waarschijnlijk.
Zet dit eens bovenaan je script:
PHP:error_reporting( E_ALL );
Dan zou je alle errors moeten zien die PHP gooit.
<?php
include("../database.php.ini");
error_reporting( E_ALL );
if(isset($_GET['artiest'])) {
$query = "SELECT * FROM lied INNER JOIN artiest ON lied.artistid = artiest.aid WHERE artiest.name = '". $_GET['artiest'] ."'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
print_r($row);
} else {
$query = "SELECT * FROM lied INNER JOIN artiest ON lied.artistid = artiest.aid WHERE artiest.name = '". $_GET['artiest'] ."'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
echo '
<h3><span>Alle tracks van $row[artiest.name]</span></h3>
<p></p>
<table>
<tr>
<td width=350><li><a href="track.php?track='. $row['lied.lID'] .'&artiest='. $row['lied.artistid'] .'">'. $row['artiest.name'] .' - '. $row['lied.title'] .'</a></td>
</tr>
</table>';
}
}
?>
En je krijgt een wit scherm? Geen errors?
Dan gok ik, als ik je script zo bekijk, dat je query geen resultaten oplevert.
Je kunt onder aan de pagina nog een "end of page" zetten in de html, dan kun je in elk geval zien dat het hele script gedraaid heeft.
<?php
session_start();
$dbname = "naamnaamnaam"; // database naam
$user = "useruseruser"; // gebruikersnaam van mysql
$pass = "passpasspass"; // wachtwoord van mysql
$host = "hosthosthost"; // host naar mysql
$dbh=mysql_connect("$host","$user","$pass");
mysql_select_db( "$dbname" ) or trigger_error( mysql_error() );
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Kick Base! - 100% Lekkere Muziek</title>
<meta http-equiv="Content-Language" content="Dutch" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="author" content="Chantie Muis (www.muisdesign.nl)" />
<meta name="description" content="Stef Muizelaar Beveliging" />
<meta name="keywords" content="safe,website,stef" />
<meta name="Robots" content="index,follow" />
<meta name="Generator" content="" />
<link rel="stylesheet" type="text/css" href="../style.css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="rss/" />
</head>
<body>
<div class="content">
<div id="top">
<h1>Kick Base!</h1>
<h2>100% Lekkere Muziek</h2>
</div>
<!-- end of the Top part -->
</div>
<div class="content">
<div id="main">
<div id="right_side">
<h3>Menu</h3>
<ul>
<li><a href="../index.php" title="home">Begin!</a></li>
<li><a href="../artists.php" title="Articles">Alle DJ's!</a></li>
<li><a href="../zoek.php" title="Articles">Zoeken!</a></li>
<li><a href="../twitter.php" title="Zoeken">Twitter (new)!</a></li>
<li><a href="../facebook.php" title="Zoeken">Facebook (new)!</a></li>
<li><a href="../main_login.php" title="Login">Inloggen</a>
</ul>
<h3>Genre's</h3>
<ul>
<?php
require("../database.php.ini");
$query = mysql_query("SELECT * FROM genre WHERE genre.gid = genre.genrename") or die(mysql_error());
while($object = mysql_fetch_object($query)){
echo "<li><a href=../genre.php?genre=$object->gid>$object->genrename</a></li>";
}
?>
</ul>
<h3>Laatste 5 Tracks</h3>
<ul>
<?php
require("../database.php.ini");
$query = mysql_query("SELECT * FROM lied,artiest WHERE artiest.aid = lied.artistid ORDER BY lied.lid DESC LIMIT 5") or die(mysql_error());
while($object = mysql_fetch_object($query)){
echo "<li><a href=track.php?track=$object->lID&artiest=$object->artistid>$object->name - $object->title</a></li>";
}
?>
</ul>
<!-- phpmyvisites -->
<a href="http://www.phpmyvisites.us/" title="phpMyVisites : Een open source applicatie voor het bijhouden van webstatistieken ontworpen in PHP/MYSQL en verspreid onder de GNU GPL licentie."
onclick="window.open(this.href);return(false);"><script type="text/javascript">
<!--
var a_vars = Array();
var pagename='';
var phpmyvisitesSite = 1;
var phpmyvisitesURL = "http://timobruins.site11.com/stats/phpmyvisites.php";
//-->
</script>
<script language="javascript" src="http://timobruins.site11.com/stats/phpmyvisites.js" type="text/javascript"></script>
<object><noscript><p>phpMyVisites : Een open source applicatie voor het bijhouden van webstatistieken ontworpen in PHP/MYSQL en verspreid onder de GNU GPL licentie.
<img src="http://timobruins.site11.com/stats/phpmyvisites.php" alt="Statistics" style="border:0" />
</p></noscript></object></a>
<!-- /phpmyvisites -->
</div>
<?
include("../database.php.ini");
$track=$_GET['aID'];
$artiest=$_GET['artiestid'];
$query="SELECT * FROM lied,artiest WHERE artiest.aid='".mysql_real_escape_string($_GET['artiest'])."' AND lied.lID='".mysql_real_escape_string($_GET['track'])."'";
$results=mysql_query($query);
$num=mysql_num_rows($results);
mysql_close();
echo "";
$i=0;
while ($i < $num) {
$title=mysql_result($results,$i,"title");
$name=mysql_result($results,$i,"name");
$link=mysql_result($results,$i,"link");
$aid=mysql_result($results,$i,"aid");
$genreid=mysql_result($results,$i,"genreid");
$time=mysql_result($results,$i,"time");
echo "
<div id=left_side>
<h3><span>
$name - $title ($genrename)
</span></h3>
<p>
<!-- <img src=images/img.jpg alt=img /> -->
<object width=550 height=334><param name=movie value=http://www.youtube.com/v/$link?fs=1&hl=nl_NL&color1=0x5d1719&color2=0xcd311b&autoplay=1></param><param name=allowFullScreen value=true></param><param name=allowscriptaccess value=always></param><embed src=http://www.youtube.com/v/$link?fs=1&hl=nl_NL&color1=0x5d1719&color2=0xcd311b&autoplay=1 type=application/x-shockwave-flash allowscriptaccess=always allowfullscreen=true width=550 height=334></embed></object>
</p>
<blockquote>
<p>
</p>
</blockquote>
<div class=date>Track toegevoegt op: $time</div>";
$i++;
} ?>
<?php
include("../database.php.ini");
error_reporting( E_ALL );
if(isset($_GET['artiest'])) {
$query = "SELECT * FROM lied INNER JOIN artiest ON lied.artistid = artiest.aid WHERE artiest.name = '". $_GET['artiest'] ."'";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
print_r($row);
} else {
$query = "SELECT * FROM lied INNER JOIN artiest ON lied.artistid = artiest.aid WHERE artiest.name = '". $_GET['artiest'] ."'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
echo '
<h3><span>Alle tracks van $row[artiest.name]</span></h3>
<p></p>
<table>
<tr>
<td width=350><li><a href="track.php?track='. $row['lied.lID'] .'&artiest='. $row['lied.artistid'] .'">'. $row['artiest.name'] .' - '. $row['lied.title'] .'</a></td>
</tr>
</table>';
}
}
?>
</p>
</p>
</div>
<div id="footer">
<div class="right">© Copyright 2010, Hardstyle Base!<br />Design: Chantie Muis & David Herreman</div>
<div><a href="../voorwaarden.php">Voorwaarden!</a></div>
</div>
</div>
</body>
</html>
Je query verwijst naar een naam, maar de links die je opbouwen plaatsen nog steeds het id in de URL ipv de naam van de artiest.
Oh en houd er rekening mee dat artiesten met een & of een = in hun naam problemen gaan geven als je geen gebruik maakt van URL-encoding (urlencode functie van PHP gebruiken)
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.