Bonjour tt le monde, Je suis nouveau ici

bon mon pbm est que j'arrive pas à limiter le nbr d'inscription.
je veux les limitées à 40, pour ça j'ai crée 2 tables
- Tab1 "Conference" : ref_conf | theme | date
- Tab2 "inscrits" : ref | nom | prenom | ref_conf | theme | date

page 1 : affiche les conférences disponible via la tab1
page 2 : formulaire d'inscription
page 3 : vérification des données et les insérées dans la tab2

je doit contrôler le nbr d'inscription par conférence sur tab2, si conférence 2 atteint les 40 inscrits ne l'affichera plus dans la page 1, mais affiche les autres qu'ont dispon.

puis-je voir votre aide SVP Smiley bawling
Page1 :
<?Php
$conf="select * from conference";
$result=mysql_query($conf);
while($lign=mysql_fetch_array($result)){
?>
<a href="ver_for.php?ref_conf=<?Php print($lign['ref_conf']);?>&amp;them_conf=<?Php print($lign['them_conf'])?>&amp;date_conf=<?Php print($lign['date_conf']);?>"><?Php print($lign['them_conf'])?></a><br>
<?Php }?>

je récupe les conférences existe sur tab1, mais j'arrive pas à contrôler le nbr d'inscrits sur tab2, mais quand j'utilise la requete :
SELECT COUNT(ref) as NB FROM inscrits WHERE ref_conf = '$ref_conf'

j'ai plus de connexion vers la tab1 et donc leur valeurs devient inconnu
<?php et non <?Php je pinaille !!!

A mon avis c'est possible, mais je ne suis pas expert pour te conseiller.
Modifié par Tintin75 (24 Feb 2016 - 16:30)
c'est quoi se PDO ?
ça fait un bon temps que j'ai pas développé, et si tu peux me poser sur une piste ça sera une bonne chose.
Poste sur la rubrique : Développement web côté serveur, CMS du forum, tu auras plus de chance d'avoir une réponse à mon avis.

Ton code est bien en pdo, j'avais dit une bêtise, c'est pour ça que j'ai corrigé.
Modérateur
Bonjour,

Tout d'abord 2 remarques :
1) les champs theme et date de la table inscrits sont en théorie inutiles.
2) les fonctions mysql_xxx sont obsolètes. Soit tu utilises les fonctions mysqli_xxx soit pdo (voir doc php).

Pour faire marcher ton code à l'ancienne, et en restant dans le style que tu emploies déjà :
$conf="select * from conference";
$result=mysql_query($conf);
while($lign=mysql_fetch_array($result))
{
	$inscrits="SELECT COUNT(ref) as NB FROM inscrits WHERE ref_conf = ".$lign['ref_conf'];
	$result2=mysql_query($inscrits);
	$lign2=mysql_fetch_array($result2);
	if ($lign2['NB']<40)
	{
		print '<a href=\"ver_for.php?ref_conf='.$lign['ref_conf'];
		print '&amp;them_conf='.$lign['them_conf'];
		print '&amp;date_conf='.$lign['date_conf'];
		print '">';
		print $lign['them_conf']."</a><br>";
	}
}
Amicalement,
Modérateur
Bonjour,
Homeros a écrit :
c'est quoi se PDO ?
C'est un ensemble d'object/méthodes php qui permet d'interroger différents systèmes de bases de données (donc pas seulement mysql) avec le même code.

Ça remplace les fonctions mysql_xxx qui ne sont plus supportées en php 7.

Amicalement,
Modifié par parsimonhi (24 Feb 2016 - 16:41)
Test le code du chef, et donne la réponse. Je suis curieux Smiley smile

Ton cas est intéressant, pour apprendre. Smiley murf
Merci parsimonhi pour l'initiative,

d’ailleurs le résultat affiche tt les conférences soit NB<40 ou >40
et il affiche l'erreur suivant :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

-----------------------------------------------
Concernant les champs theme et date de la table inscrits, je les ajouter pour contrôler le nombre d'inscriptions par conférence (40 par conférence), et pour envoyer un mail avec le theme et la date de la conférence.
Modifié par Homeros (24 Feb 2016 - 17:06)
Modérateur
Bonjour,

Le code marche tel quel chez moi.

T'as fait un copier-coller ou bien tu as adapté ?

Amicalement,
Modérateur
Bonjour,
Homeros a écrit :
Concernant les champs theme et date de la table inscrits, je les ajouter pour contrôler le nombre d'inscriptions par conférence (40 par conférence), et pour envoyer un mail avec le theme et la date de la conférence.
Normalement, tu ne devrais stocker dans la base des inscrits que le champ ref_conf, et retrouver à partir de cette information les autres informations en allant piocher dans la table conf.

Amicalement,
Modérateur
Bonjour,

Normalement, tu peux faire simplement un copier-coller.

Mais si ça te fait une erreur, il faut chercher d'où ça peut venir, et là, je ne peux rien faire de plus avec les éléments que j'ai, vu que ça marche chez moi.

Amicalement,
Bonjour frères,
Le code marche nickel après 2 petits retouche, voila :
1- au niveau de la requête j'ai changé COUNT(ref) par COUNT(ref_conf)
2- affichage ou l'écriture du lien j'ai enlevé une "\" après le "href="

Voila le code finale, merci les gars pour votre aide précieux et vos orientations Smiley smile

$conf="select * from conference";
$result=mysql_query($conf);
while($lign=mysql_fetch_array($result))
{
	$inscrits="SELECT COUNT(ref_conf) AS NB FROM inscrits WHERE ref_conf =".$lign['ref_conf'];

	$result2=mysql_query($inscrits);
	$lign2=mysql_fetch_array($result2);
	if ($lign2['NB']<40)
	{
		print '<a href="ver_for.php?ref_conf='.$lign['ref_conf'];
		print '&amp;them_conf='.$lign['them_conf'];
		print '&amp;date_conf='.$lign['date_conf'];
		print '">';
		print $lign['them_conf']."</a><br>";
	}
}

Modifié par Homeros (25 Feb 2016 - 11:20)