Lijst met artiesten uit database halen? (probleem2)

Status
Niet open voor verdere reacties.
Waarschijnlijk het wat in de URL staat niet artiest.name ;) Het zal eerder artiest_name of gewoon artiest of name zijn.
 
Waarschijnlijk het wat in de URL staat niet artiest.name ;) Het zal eerder artiest_name of gewoon artiest of name zijn.

ow hihi, artiest is dat gewoon.. zal zo boven effe proberen zit nu op mijn mini bendene en daar heb ik de server niet aangekoppelt zitten alleen boven ds kan alleen boven aan de site werken ik laat zo weten
 
is nu gelukt krijg nu geen foutmelding.
maar denk nou net hij haalt artiestid op maar wil dan dat hij artiestnaam doet.
hoe doe ik dat dan..?

lied.artistid = artiest.name ?
zoals ik dus nu heb

PHP:
artiest.name = '". $_GET['artiest'] ."'
 
Laatst bewerkt:
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 ;)
 
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 ;)

ik heb paar mogelijkheden geprobeert..

PHP:
SELECT * FROM lied INNER JOIN artiest ON '". $_GET['artiest'] ."' = artiest.aid WHERE artiest.aid = artiest.name

en dat leek me de logische.
maar die werkt niet net als de rest,
krijg weer blank scherm (op de plek waar hoort te staan dan)
 
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.
 
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.

maar wat jou sql code doet snap ik niet
want ik moet dan voor elke pagina ander aangeven

[SQL]SELECT *
FROM lied
INNER JOIN artiest ON lied.artiestid = artiest.id
WHERE artiest.name = "Reel Big Fish"[/SQL]

want Reel Big Fish moet dan de naam worden maar hoe laat ik die dat worden?

edit:
[SQL]
SELECT * FROM lied INNER JOIN artiest ON lied.artistid = artiest.aid WHERE artiest.name = '". $_GET['artiest'] ."'[/SQL]

gebruik ik dan krijg ik weer wit
 
Laatst bewerkt:
effe daarover,
de tabelnamen zijn Nederlands en de kolommen zijn engels ;)

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.
 
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.

leuke is dus nu weer.....

PHP:
<?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>';
  }
}
?>

heb ik er allang instaan :P
 
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.
 
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.

ik laat effe alles zien.
[SQL]CREATE TABLE `lied` (
`ID` int(10) NOT NULL auto_increment,
`artistid` varchar(10) collate latin1_general_ci NOT NULL,
`title` varchar(100) collate latin1_general_ci NOT NULL,
`genre` varchar(15) collate latin1_general_ci NOT NULL,
`link` varchar(100) collate latin1_general_ci NOT NULL,
`time` varchar(10) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ;
[/SQL]
[SQL]CREATE TABLE `artiest` (
`ID` int(10) NOT NULL auto_increment,
`name` varchar(100) collate latin1_general_ci NOT NULL,
`bio` text collate latin1_general_ci NOT NULL,
`website` varchar(100) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;
[/SQL]

PHP:
<?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&amp;hl=nl_NL&amp;color1=0x5d1719&amp;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&amp;hl=nl_NL&amp;color1=0x5d1719&amp;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">&copy; 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)
 
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)

het is dus de bedoeling dat artiest=1 is en dan dat de php ziet
dat artiest=1 (artiest id) wordt omgezet in naam van artiest in het script

dus makkelijk gezecht

Angerfist is dus 010.
en als ik dan naar &artiest=010 ga
dat het script dus weet dat het
Angerfist is
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan