A voir également:
- Incrémentation dans une base de donnée
- Base de registre - Guide
- Formules excel de base - Guide
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Formules mathématiques de base - Télécharger - Études & Formations
- Tnt base de données vide - Forum TNT / Satellite / Réception
3 réponses
CIAnure
Messages postés
41
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
29 janvier 2010
29
22 juil. 2008 à 00:15
22 juil. 2008 à 00:15
Là, tu mélange Javascript et PHP. c'est pas possible.
Sinon pour te répondre, il faut:
1) quand on télécharge ta musique, tu appelle une fonction javascript avec comme paramètre le numéro de ta musique et le nombre de téléchargement jusqu'à présent.
2) Ta fonction Javascript recharge la page avec les paramètres en méthode POST
3) Tu récupère les paramètres dans ta variable $_POST (donc en PHP)
4) Tu fait un appel MySQL pour incrémenter en base, la table qui comporte le nombre de téléchargement pour cette musique.
Est-ce clair pour toi? Bon courage. CIAnure
Sinon pour te répondre, il faut:
1) quand on télécharge ta musique, tu appelle une fonction javascript avec comme paramètre le numéro de ta musique et le nombre de téléchargement jusqu'à présent.
2) Ta fonction Javascript recharge la page avec les paramètres en méthode POST
3) Tu récupère les paramètres dans ta variable $_POST (donc en PHP)
4) Tu fait un appel MySQL pour incrémenter en base, la table qui comporte le nombre de téléchargement pour cette musique.
Est-ce clair pour toi? Bon courage. CIAnure
Ah oui j'ai oublié de dire aussi que tu m'avais dis la méthode POST mais étant donné que j'utilise déjà la méthode GET, j'ai tout passé en GET. Je ne sais pas si cela a vraiment des conséquences tant qu'il n'y a pas de données sécurisées ou privées. non ? :)
Encore merci ....
Encore merci ....
CIAnure
Messages postés
41
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
29 janvier 2010
29
23 juil. 2008 à 16:01
23 juil. 2008 à 16:01
1) Faut que tu met qu'une fois la balise form ( haut de page qui englobe tout)
et ton form doit avoir un seul nom (Par exemple: form1)
donc <FORM name="form<?php echo $data['id']?> je ne voit pas l'intérêt
2) Ce qui fait que document.form+id.method = "GET"; ça ne peut pas marché
Met plutôt document.form1.method = "GET";
3)C'est bien la que tu dois faire ton appel MySQL. (Vérifie bien ta syntaxe quand même)
Sinon tu peut utiliser la méthode GET si tu veut, ça ne dérange pas. Bon courage
et ton form doit avoir un seul nom (Par exemple: form1)
donc <FORM name="form<?php echo $data['id']?> je ne voit pas l'intérêt
2) Ce qui fait que document.form+id.method = "GET"; ça ne peut pas marché
Met plutôt document.form1.method = "GET";
3)C'est bien la que tu dois faire ton appel MySQL. (Vérifie bien ta syntaxe quand même)
Sinon tu peut utiliser la méthode GET si tu veut, ça ne dérange pas. Bon courage
Salut, J'ai continué de chercher, j'ai mis quelques alert() pour vérifier les variables ... avec les alert(), pas de problème, tout va bien mais quand je veux exécuter ton script seul, je ne vois pas de modification dans l'URL tandis que lorsque je met la même URL que j'ai mise dans document.form1.action, là, il daigne me changer mon URL mais ne me permet plus le téléchargement :s et puis même l'incrémentation ne se fait quand même pas ... enfin ca c'est peut etre encore mon script qui n'est pas au point ... enfin je te remet mon code, si jamais tu pourrais encore m'éclairer :)
Encore merci ...
Javascipt : j'ai rien changé vu que ça semble être bon ... vu les tests.
<SCRIPT language="Javascript">
<!--
function incdl( nbdl , id, menupage ){
document.form1.method = 'GET';
document.form1.action = 'index.php?menupage='+menupage+'&id='+id+'&nbdl='+nbdl;
document.form1.submit();
}
// -->
</SCRIPT>
Script PHP : sachant que la base est ouverte au dessus et fermée en fin de page ...
if (isset($_GET['id']))
{
$sql = "UPDATE music SET nbdl = ".$_GET['nbdl']."+1 WHERE id = ".$_GET['id'];
$resultat = mysql_query($sql);
}
HTML : Ceci est une partie du code déja passé sur le serveur PHP ( extrait de l'exploreur internet )
Et j'ai bien mis qu'un seul Form ...
<form method="GET" name="form1">
<tr>
<td><a href="music/08/Absence.mp3" class="mnu" onClick="incdl('0','18','08' )">Absence</a></span></td>
<td><span class="texte0">2008-07-01</span></td>
<td><span class="texte1">0</span></td>
<td><a href="music/08/Absence.mp3" class="mnu" onClick="incdl('0','18','08' )">Lien</a></td>
</tr>
Encore un grand merci ...
Encore merci ...
Javascipt : j'ai rien changé vu que ça semble être bon ... vu les tests.
<SCRIPT language="Javascript">
<!--
function incdl( nbdl , id, menupage ){
document.form1.method = 'GET';
document.form1.action = 'index.php?menupage='+menupage+'&id='+id+'&nbdl='+nbdl;
document.form1.submit();
}
// -->
</SCRIPT>
Script PHP : sachant que la base est ouverte au dessus et fermée en fin de page ...
if (isset($_GET['id']))
{
$sql = "UPDATE music SET nbdl = ".$_GET['nbdl']."+1 WHERE id = ".$_GET['id'];
$resultat = mysql_query($sql);
}
HTML : Ceci est une partie du code déja passé sur le serveur PHP ( extrait de l'exploreur internet )
Et j'ai bien mis qu'un seul Form ...
<form method="GET" name="form1">
<tr>
<td><a href="music/08/Absence.mp3" class="mnu" onClick="incdl('0','18','08' )">Absence</a></span></td>
<td><span class="texte0">2008-07-01</span></td>
<td><span class="texte1">0</span></td>
<td><a href="music/08/Absence.mp3" class="mnu" onClick="incdl('0','18','08' )">Lien</a></td>
</tr>
Encore un grand merci ...
22 juil. 2008 à 04:49
1 et 2) <a href="music<?php echo $data['chemin']?>" onclick="incdl('<?php echo $data['nbdl']?>','<?php echo $data['id']?>' )">Lien</a>
Est ce que cette ligne est correcte ? j'imagine que non vu que je dois définir quelques part la méthode d'envoi POST, avec un formulaire je vois mais ici pas :s
3) pour récupérer les variable POST, ce serait comme ceci :
function incdl( nbdl , id ){
$sql = "UPDATE `nbdl` = ".$_POST['nbdl']."+1 WHERE `id` = ".$_POST['id'];
$resultat = mysql_query($sql);
}
4) lorsqu'on fait appelle a MySQL, faut il lui ouvrir la table dans le script lui même ? et la fermer ?
Moi non plus j'sais pas si j'ai été clair ;) J'espère ... et bon courage pour la réponse ;)
22 juil. 2008 à 12:33
2) Ta fonction Javascript doit recharger ton formulaire.
Ex :
function incdl( nbdl , id ){
document.form1.method = "POST";
document.form1.action = "Ton_URL?id="+id+"&nbdl="+nbdl
document.form1.submit();
}
3 et 4) Sur ta page, tu écrit un script PHP qui font un appel MySQL avec ce que tu veut (Tes parametres sont dans une variable $_POST)
Un problème que tu as, c'est que tu as l'air de ne pas bien maitrisé le PHP, MySQL et Javascript. Réfère toi aux cours. Bonne chance. CIAnure.
23 juil. 2008 à 01:16
1) Coté lien, j'ai donc ajouté <FORM name="form<?php echo $data['id']?>"><a href ... avec l'id comme numéro de form, sinon vu la création du tableau , je me retrouvais avec des tas de form1. Mais cela me pose un probleme ailleur ...
2) Ici, dans la fonction Javascipt :
function incdl( nbdl , id, menupage ){
document.form+id.method = "GET";
document.form+id.action = "index.php?menupage="+menupage+"&id="+id+"&nbdl="+nbdl;
document.form+id.submit();
}
Est ce correct ? .form+id. ? Ya t'il possibilité de faire des tests, voir si ya quelques chose qui bouge ... :)
3) Dernière chose, pour le script PHP, je doute avoir bien fais, j'ai inséré dans le <HEAD> les lignes suivantes :
if (isset($_GET['id']))
{ $sql = "UPDATE `nbdl` = ".$_GET['nbdl']."+1 WHERE `id` = ".$_GET['id'];
$resultat = mysql_query($sql);
}
Suis je complètement perdu ? Ou ,y a t'il encore un espoir ;) ?
Encore merci ...
PS : Voici mon site au cas ou tu voudrais voir du concret : www.boskozz.com