Euh... oui mais je précise que je suis pas du tout développeur, alors le code est sans doute de mauvaise qualité mais je code pour ensuite confier le projet à un vrai dev, qui aura une base visuelle pour comprendre tout.
Premier select, va chercher les objets de l'utilisateur et leur correspondance dans la table objets:
Second select qui va chercher plusieurs données, le nombre de troupes totale dans la table user (uSodat, uArcher, etc), et le nombre de troupes ayant un equipement dans la table equiptroopsuser (id de la troupe (de 1 a 24),id de l'utilisateur, id de lobjet et nombre).
Etant donné qu'on peut assigner 3 epées à 5 soldats, et 1 glaive au soldat restant, je ne fais pas d'update mais un create table aprés avoir récupéré les variables du formulaire
Voila une vidéo du résultat:
Exemple vidéo
Premier select, va chercher les objets de l'utilisateur et leur correspondance dans la table objets:
Code :
<?php
echo '
<select name="websites3" id="websites3" style="width:260px;" >';
$result = mysql_query("SELECT ouID,ouIDobj,ouIDuser,ounombre FROM objetuser WHERE ouIDuser=\"$user[uID]\" AND ounombre>'0' ORDER BY ounombre DESC ");
while ($tab = mysql_fetch_array($result)) {
$result2 = mysql_query("SELECT * FROM objet WHERE oID = '$tab[ouIDobj]' AND Typeo!='1' AND Typeo!='999'");
while ($tab2 = mysql_fetch_array($result2)) {
echo '<option value="'; echo "$tab2[oID]"; echo '" title="../images/objmini/'; echo "$tab2[oID]"; echo '.png">'; echo "$tab2[oname]"; echo " ("; echo "$tab[ounombre]"; echo ")"; echo '</option>';
}
}
echo '</select>
';
?>
Second select qui va chercher plusieurs données, le nombre de troupes totale dans la table user (uSodat, uArcher, etc), et le nombre de troupes ayant un equipement dans la table equiptroopsuser (id de la troupe (de 1 a 24),id de l'utilisateur, id de lobjet et nombre).
Code :
<?php
$result = $db->query("SELECT idtroupe,idobj,iduser,SUM(nombre) FROM equiptroopsuser WHERE iduser = '".$user['uID']."' GROUP BY nombre");
while($row = mysql_fetch_array( $result )) {
if ($row['idtroupe']==1) {
$ss1 = $row['idtroupe'];
$nombre1 = $row['SUM(nombre)'];
$valueuser1 = $user['uSoldat'];
}
if ($row['idtroupe']==2) {
$ss2 = $row['idtroupe'];
$nombre2 = $row['SUM(nombre)'];
$valueuser2 = $user['uArcher'];
}
etc jusqu'a 24
ensuite je fais mon select avec 24 entrées potentielles si bien sur l'utilisateur possede ce type de troupes dans la table user
if ($user['uSoldat']==0) {
}
else {
if ($nombre1=='') {
//select simple
echo '<option value="1" title="../img/facemini/1.jpg">';
echo "Soldats (";
echo $user['uSoldat'];
echo ')</option>';
}
elseif ($nombre1!='') {
//select avance
if ($nombre1==$valueuser1) {
}
else {
echo '<option value="1" title="../img/facemini/1.jpg">';
echo "Soldats (";
echo $user['uSoldat']-$nombre1;
echo ')</option>';
}
}
}
Etant donné qu'on peut assigner 3 epées à 5 soldats, et 1 glaive au soldat restant, je ne fais pas d'update mais un create table aprés avoir récupéré les variables du formulaire
Code :
$db->query("INSERT INTO equiptroopsuser (`iduser`,`idtroupe`,`idobj`,`nombre`) VALUES ('" . $user['uID'] . "','$idorigin2','$idorigin','$numberitemcheck')");
$db->query("UPDATE objetuser SET ounombre = ounombre-$numberitemcheck WHERE ouIDobj = $idorigin AND ouIDuser = '".$user['uID']."'");
Voila une vidéo du résultat:
Exemple vidéo