Page 1 sur 1

Pop up dans du php avec du sql

Posté : 18 mars 2007, 21:41
par pLoP
Bonjour tout le monde , je sais pas si c est la bonne section mais je me lance :D

J'essaie desesperement depuis quelques semaines à lancer une popub a partir d'un site codé en php et qui appelle une requete sql
Voila le code que j ai fait , qui marche mais qui ne m ouvre aucune page

Code : Tout sélectionner

<html> <head> <script type="text/javascript"> function popup(url,nom,features) { window.open(url,nom,features); } </script> </head> <br><center><font style="font-size:15"><b>Les chansons de Channel 9<br><br></b></font></center> <div align=justify>&nbsp;&nbsp;&nbsp;Elles rythment vos voyages tout au long de vos années Dauphine, vous allez enfin pouvoir les (ré-)écouter sur votre ordinateur !</div><br> <?php $r = mysql_query("SELECT * FROM chansons ORDER BY date DESC") ; while ($t = mysql_fetch_assoc($r)) { if ($t[image]) { echo '<img src=vignettes/'.$t[image].' width=60 height=60 style="border:1px; border-style:solid; border-color:DBC595" align=left>' ; } echo '<b>'.c_date($t[date]).' '.$t[titre].'</b><br>'.$t[description].'<div align=right style="margin-bottom:10px"><a href=javascript:popup(\'/chansons/\'.$t[fichiers].\'\',\'Chanson\', \'height=700, width=500, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no\')>Voir le clip</a> </div> ' ; } ?>
c' est cette partie qui me fait defaut:

Code : Tout sélectionner

<a href=javascript:popup(\'/chansons/\'.$t[fichiers].\'\',\'Chanson\', \'height=700, width=500, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no\')>Voir le clip</a>
j ai essayer avec beaucoup d autre chose comme :

Code : Tout sélectionner

<a href=\"#\" onClick=window.open('chansons/'.$t[fichier].'', '.$t[titre].', 'width=700, height=500, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, copyhistory=no, resizable=no')>Voir le clip</a>;
ou

Code : Tout sélectionner

<a href=\"#\" onClick=\"window.open('chansons/\'.$t[fichier].\'',\'.$t[titre].\',\'toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0, menuBar=0, width=700, height=500\');\">Voir le clip</a></div>' ;


Mais je n y arrive pas

si quelqu un pouvait m aider
Merci d'avance :D

Posté : 19 mars 2007, 03:03
par VaN
hum, tu es sur que chansons/'.$t[fichier] correspond bien à un fichier ouvrable par le navigateur ? une popup, c'est du .htm, du.html ou du .php principalement, pas du .mp3, ou n'importe quel autre fichier audio, comme j'ai l'impression que tu essaye de faire.?

Posté : 19 mars 2007, 06:37
par ghalaad
tu as des problèmes avec des doubles/simple quote.

ta chaine est :

Code : Tout sélectionner

<a href=\"#\" onClick=window.open('chansons/'.$t[fichier].'', '.$t[titre].', 'width=700, height=500, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, copyhistory=no, resizable=no')>Voir le clip</a>;
Et on voit que tu backslash les double quote.
Ensuite, tu passes du javascript et là tu ne backslash pas les '... Normal, sauf que tu rajoutes un "." pour la concaténation donc ce qui apparaitra ($t['fichier'] = "toto" ) ne sera pas :

Code : Tout sélectionner

....window.open('chansons/toto',....
mais :

Code : Tout sélectionner

window.open('chansons/'.toto.'',
avec et en trop.

Nettoie ta chaine :)
"<a href=\"#\"
      onClick=window.open('chansons/".$t['fichier']."',
               '".$t['titre']."',
               'width=700,
               height=500,
               toolbar=no,
               location=no,
               directories=no,
               status=no,
               menubar=no,
               scrollbars=no,
               copyhistory=no,
               resizable=no')>Voir le clip</a>";
De toute façon, il faut te méfier.
Tu ne peux PAS inclure du PHP dans du javascript mais tu peux UNIQUEMENT générer du javascript avec PHP. PHP est exécuté côté SERVEUR et n'a rien à voir chez le client. Si tu veux que du javascript interagisse avec tes fonctions php il te faut utiliser AJAX.

Posté : 19 mars 2007, 12:31
par pLoP
enfaite le fichier sera un .html avec dedans une video en flash

jvais essayer avec ce que vous me dites merci , jpenses que je revienderais xD

Posté : 19 mars 2007, 12:48
par pLoP
Voila donc en mettant ca
<html>
<head>
<script type="text/javascript">
function popup(url,nom,features) { 
window.open(url,nom,features); 
}
</script>
</head>
<br><center><font style="font-size:15"><b>Les chansons de Channel 9<br><br></b></font></center>
<div align=justify>&nbsp;&nbsp;&nbsp;Elles rythment vos voyages tout au long de vos années Dauphine, vous allez enfin pouvoir les (ré-)écouter sur votre ordinateur !</div><br>

<?php
$r = mysql_query("SELECT * FROM chansons ORDER BY date DESC") ;
while ($t = mysql_fetch_assoc($r)) {
	if ($t[image]) { echo '<img src=vignettes/'.$t[image].' width=60 height=60 style="border:1px; border-style:solid; border-color:DBC595" align=left>' ; }
	echo '<b>'.c_date($t[date]).' '.$t[titre].'</b><br>'.$t[description].'<div align=right style="margin-bottom:10px"><a href=\"#\" onClick=window.open('chansons/".$t['fichier']."','".$t['titre']."','width=700, height=500, toolbar=no,location=no, directories=no, status=no, menubar=no, scrollbars=no, copyhistory=no, resizable=no')>Voir le clip</a>; 
 
</div> ' ;
}
?>
On me renvoit: Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in chansons.php on line 16
qui est la raison pour laquel javais mis des backquote des le depart

Posté : 19 mars 2007, 12:52
par raptor
Déàa pour commencer, tu peux éditer tout ton code en rajoutant des " autour des indices de tableau php.

Exemple : $t[image] devient $t["image"].

Tu peux également rajouter des " autour de toutes tes valeurs d'attribut HTML qui ne sont pas numériques

Exemple : align=left devient align="left".
Idem pour le onclick="[...]"

Ensuite repose le coder corrigé, et l'erreur correspondante en précisant ce qu'il y a aux lignes 15 et 16.

@+