<?php
include("haut.php");
?>
<?php
$n = mysql_connect("localhost", "root", '');
mysql_select_db("marketplace");
/* ici on le fait pour qu'on ait toutes les données du membre et puis il reste à afficher ces données */
$id=$_SESSION['id_membres'];
$sql = "SELECT * FROM membres WHERE id_membres='$id'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
//on va cherche la liste des produits dans la base de données
$sq2 = "select * from produit";
$result = mysql_query($sq2) or die(mysql_error());
$option = "<select name=\"prd[]\">";
while ($row = mysql_fetch_assoc($result) ) {
$option .= "<option value=\"".$row['nom_produit']."\">".$row['nom_produit']."</option>";
}
mysql_free_result($result);//on librere les ressources
mysql_close($n); // et on ferme la connexion
$option.="</select>";
?>
<script language="javascript">
/**
* Cette fonction sert a supprimer une ligne du tableau elle prend en parametre
* l'id de la ligne
*/
function suppression (ligne) {
// La suppression se fait en recuperent la ligne=noeud courant par son id ensuite on
//recupere le noeud parent avec parentNode et enfin on supprime avec removeChild
if( document.getElementById(ligne) ) {
document.getElementById(ligne).parentNode.removeChild(document.getElementById(ligne));
}
}
/**
* Cette fonction va servir pour la creation des inputs independament du navigateur
* cette ca que j'avez oublier de preciser pour la premier fois
*/
function creerInput(name) {
if( document.all){ // pour IE
input = document.createElement("<input name='"+name+"'>");
} else { // pour FF et autres navigateurs
input = document.createElement("input");
input.name = name;
}
input.type = "text";
return input;
}
/**
* Cette fonction est appeler par le bouton ajouter elle place directement une ligne
* comportant tous les input necessaire
*/
function AjouterLigne(){
// On recupere la tables des inputs
var table = document.getElementById('tableInput');
// recuperation de tous les noeud fils tr
var trs = table.getElementsByTagName('tr');
// on crer un nouveau tr
var newRow = document.getElementById('tableInput').insertRow(-1);
// ind va permetre de construire un id propre a chaque ligne sous la form
// row_1 row_2 ... row_N
var ind = trs.length-1;
// si c'est pas la premiere fois qu'on fait appel a ajouterLigne()
if( ind > 0 ) {
// Comme dit on se sert de ind pour construire l'id
newRow.setAttribute("id","row_"+ind);
//setAttribute permet de definir un attribut a un element
//cette variable va contenir l'id elle sera passer en parametre a suppression
var idtr = "row_"+ind;
} else {
// c'est la premiere fois qu'on appele ajouterLigne donc le id c'est row_1
newRow.setAttribute("id","row_1");
var idtr = "row_1";
}
// insert la cellule du nom_produit
var newCell = newRow.insertCell(0);
// on affect le select creer avec le php
newCell.innerHTML = '<?php echo $option ?>';
//insert la celle quantite
var newCell = newRow.insertCell(1);
//creation du champs input qte
var qteInput = creerInput("qte[]");
//ajoute du champs qte a la cellule
newCell.appendChild(qteInput);
//insert la cellule description
newCell = newRow.insertCell(2);
//creation du champs input desc
var descInput = creerInput("desc[]");
//ajoute du champs desc a la cellule
newCell.appendChild(descInput);
//insert la cellule du bouton supprimer
newCell = newRow.insertCell(3);
//creation du bouton supprimer
if( document.all){ // pour IE
bouton = document.createElement("<input name='sup_"+id_tr+"'>");
} else { // pour FF et autres navigateurs
bouton = document.createElement("input");
bouton.name = "sup_"+idtr;
}
bouton.type = "button";
bouton.value = "Supprimer";
bouton.id = 'Supprimer';
//on lui affect un evenement onclick
bouton.onclick = function(){
suppression(idtr);
};
newCell.appendChild(bouton);
}
function verif_formulaire()
{
if(document.form.objet_appeldoffre.value == "") {
alert("Veuillez donner l'objet du marché svp!");
document.form.objet_appeldoffre.focus();
return false;
}
if(document.form.date_limite_depot_offre.value == "") {
alert("Veuillez preciser la date limite de depôt des offres svp!");
document.form.date_limite_depot_offre.focus();
return false;
}
if(document.form.modalite_paiement.value == "") {
alert("Veuillez preciser la modalité de paiement et l'unité monétaire svp!");
document.form.modalite_paiement.focus();
return false;
}
if(document.form.cout_offre.value == "") {
alert("La pondération du coût de l'offre doit être superieure ou égale à zéro!!");
document.form.cout_offre.focus();
return false;
}
if(document.form.delais_livraison.value == "") {
alert("La pondération du délai de livraison doit être superieure ou égale à zéro!!");
document.form.delais_livraison.focus();
return false;
}
if(document.form.garantie.value == "") {
alert("La pondération de la garantie doit être superieure ou égale à zéro!!");
document.form.garantie.focus();
return false;
}
if(document.form.experience.value == "") {
alert("La pondération de l'experience doit être superieure ou égale à zéro!!");
document.form.experience.focus();
return false;
}
{
// Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
// Le séparateur est défini dans la variable separateur
var d = document.form.date_limite_depot_offre.value;
var amin=2010; // année mini
var separateur="/"; // separateur entre jour/mois/annee
var j=(d.substring(0,2));
var m=(d.substring(3,5));
var a=(d.substring(6));
if ( ((isNaN(j))||(j<1)||(j>31)) ) {
alert("Le jour n'est pas correct.");
document.form.date_limite_depot_offre.focus();
return false;
}
if ( ((isNaN(m))||(m<1)||(m>12)) ) {
alert("Le mois n'est pas correct.");
document.form.date_limite_depot_offre.focus();
return false;
}
if ( ((isNaN(a))||(a<amin)) ) {
alert("L'année n'est pas correcte.");
document.form.date_limite_depot_offre.focus();
return false;
}
if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) ) {
alert("Les séparateurs doivent être des "+separateur);
document.form.date_limite_depot_offre.focus();
return false;
}
var d2=new Date(a,m-1,j);
j2=d2.getDate();
m2=d2.getMonth()+1;
a2=d2.getFullYear();
if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
alert("La date "+d+" n'existe pas !");
document.form.date_limite_depot_offre.focus();
return false;
}
}
}
</script>
<div>
<blockquote>
<table width="100%" border="0">
<tr>
<td>
<form id="form" name="form" method="post" action="" onSubmit="return verif_formulaire()" >
<fieldset style="margin-left: 40px;"> <legend><em><strong> Vos Informations Personnelles</strong></em></legend>
<table width="85%" border="0">
<tr>
<td width="34%"><label for="textfield">Nom et Prénom de l'Acheteur :</label></td>
<td width="66%"><input type="text" name="textfield" id="textfield" size="30" readonly="" value="<?php echo $data['nom'].' '.$data['prenom'];?>" /></td>
</tr>
<tr>
<td><label for="label">Adresse officielle de l'Entreprise :</label></td>
<td><input type="text" name="textfield2" id="label" size="30" readonly="" value="<?php echo $data['adresse'];?>" /></td>
</tr>
<tr>
<td><label for="label2">Pays et la ville :</label></td>
<td><input type="text" name="textfield3" id="label2" size="30" readonly="" value="<?php echo $data['pays'].' ' .'-'. ' '.$data['ville'];?>" /></td>
</tr>
</table>
</fieldset>
<fieldset style="margin-left: 40px;"> <legend><em><strong> Votre Appel d'Offre</strong></em></legend>
<table width="85%" border="0">
<tr>
<td width="34%"><label for="textfield4"><span class="Style2">*</span> Objet du marché :</label></td>
<td width="66%"><input type="text" name="objet_appeldoffre" id="textfield4" size="50" <?php if (isset($_POST['objet_appeldoffre'])) { echo 'value="' .$_POST['objet_appeldoffre'] .'"'; } ?>/></td>
</tr>
</table>
<p><span class="Style2">*</span>Description de l'Appel d'offres :
<div style="margin-left: 40px;">
<table width="600" border="0" id="tableProduit" style="border:1px solid #336699" >
<tr>
<th width="21%"><label for="prd">Produit</label></th>
<th width="19%"><label for="qte">Quantité</label></th>
<th width="47%"><label for="desc">Description produit</label></th>
<th width="13%"> </th>
</tr>
<tr>
<td colspan="4">
<table border="0" id="tableInput">
<tr id="row_0">
<td width="151">
<?php echo $option?></td>
<td width="215"><input type="text" name="qte[]" /></td>
<td width="220"><input type="text" name="desc[]" /></td>
<td width="277"><input type="button" id="sup_1" value=" supprimer" disabled="disabled"/></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="30" colspan="4">
<div align="center">
<input type="button" name="addfields" value="Ajouter un produit" onClick="AjouterLigne()">
</div>
</td>
</tr>
</table>
</div>
<p>
<table width="85%" border="0">
<tr>
<td width="34%"><label for="label4"><span class="Style2">*</span> Date limite de depot des Offres :</label></td>
<td width="24%"><input type="text" name="date_limite_depot_offre" id="label4" <?php if (isset($_POST['date_limite_depot_offre'])) { echo 'value="' .$_POST['date_limite_depot_offre'] .'"'; } ?> /></td>
<td width="42%"> jj/mm/AAAA</td>
</tr>
</table>
<table width="85%" border="0">
<tr>
<td width="34%"><label for="textarea"><span class="Style2">* </span>Modalité de paiement et Unité Monétaire :</label></td>
<td width="66%"><textarea name="modalite_paiement" id="textarea" cols="38"><?php if (isset($_POST['modalite_paiement'])) { echo $_POST['modalite_paiement']; } ?></textarea></td>
</tr>
<tr>
<td><label for="label3">Modalité de livraison et d'assurance :</label></td>
<td><textarea name="modalite_livraison" id="label3" cols="38"><?php if (isset($_POST['modalite_livraison'])) { echo $_POST['modalite_livraison']; } ?></textarea></td>
</tr>
</table>
</fieldset>
<fieldset style="margin-left: 40px;"> <legend><em><strong> Les critères de sélection</strong></em></legend>
<p>Critère de Selection et leur pondération : </p>
<table width="85%" border="0">
<tr>
<td width="35%"><label for="label6"><span class="Style2">*</span> Coût de l'offre :</label></td>
<td width="65%"><input type="text" name="cout_offre" id="label6" <?php if (isset($_POST['cout_offre'])) { echo 'value="' .$_POST['cout_offre'] .'"'; } ?> maxlength=2 onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32 && event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57) && event.which != 32 && event.which != 8 && event.which != 0 ) return false;" /></td>
</tr>
<tr>
<td><label for="label7"><span class="Style2">*</span> Délai de livraison :</label></td>
<td><input type="text" name="delais_livraison" id="label7" <?php if (isset($_POST['delais_livraison'])) { echo 'value="' .$_POST['delais_livraison'] .'"'; } ?> maxlength=2 onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32 && event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57) && event.which != 32 && event.which != 8 && event.which != 0 ) return false;" /></td>
</tr>
<tr>
<td><label for="label8"><span class="Style2">* </span>Service Après vente et assistance technique :</label></td>
<td><input type="text" name="garantie" id="label8" <?php if (isset($_POST['garantie'])) { echo 'value="' .$_POST['garantie'] .'"'; } ?> maxlength=2 onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32 && event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57) && event.which != 32 && event.which != 8 && event.which != 0 ) return false;" /></td>
</tr>
<tr>
<td><label for="label9"><span class="Style2">* </span>Experience :</label></td>
<td><input type="text" name="experience" id="label9" <?php if (isset($_POST['experience'])) { echo 'value="' .$_POST['experience'] .'"'; } ?> maxlength=2 onKeypress="if((event.keyCode < 45 || event.keyCode > 57) && event.keyCode != 32 && event.keyCode != 8 && event.keyCode != 0) event.returnValue = false; if((event.which < 45 || event.which > 57) && event.which != 32 && event.which != 8 && event.which != 0 ) return false;" /></td>
</tr>
</table>
</fieldset>
<p align="center">Tous les champs indiqués par une étoile (<span class="Style2">*</span>) sont obligatoires.</p>
<p align="center">
<label for="Submit"></label>
<input type="submit" name="Submit" value="Envoyer" id="Submit" />
</p>
</form>
</td>
</tr>
</table>
</blockquote>
</div></td>
</tr>
<?php
include("bas.php");
?>
<?php
if (isset($_POST['Submit']))
{
$n = mysql_connect("localhost", "root", '');
mysql_select_db("marketplace");
if (isset($_POST['objet_appeldoffre']) AND isset($_POST['date_limite_depot_offre']) AND isset($_POST['modalite_paiement']) AND isset($_POST['modalite_livraison']) AND isset($_POST['garantie']) AND isset($_POST['experience']) AND isset($_POST['cout_offre']) AND isset($_POST['delais_livraison']))
{
$id=$_SESSION['id_membres'];
$objet=mysql_real_escape_string(htmlspecialchars($_POST['objet_appeldoffre']));
$dateDepotOffre=mysql_real_escape_string(htmlspecialchars($_POST['date_limite_depot_offre']));
$modalitePaiement=mysql_real_escape_string(htmlspecialchars($_POST['modalite_paiement']));
$modaliteLivraison=mysql_real_escape_string(htmlspecialchars($_POST['modalite_livraison']));
$cout=mysql_real_escape_string(htmlspecialchars($_POST['cout_offre']));
$delais=mysql_real_escape_string(htmlspecialchars($_POST['delais_livraison']));
$garantie=mysql_real_escape_string(htmlspecialchars($_POST['garantie']));
$experience=mysql_real_escape_string(htmlspecialchars($_POST['experience']));
// on va vérifier la date de depot des offres si elle est valide
$date = date('d/m/Y');
//on va enlever les slash avec la fonction explode pour la mettre en format numérique
$dateLimite = explode("/", $dateDepotOffre);
$dateNow = explode("/", $date);
//concaténation pour inverser l'ordre ( pour avoir l'ordre ci : annéemoisjour)
$dateDepot = $dateLimite[2].$dateLimite[1].$dateLimite[0];
$date = $dateNow[2].$dateNow[1].$dateNow[0];
// on va comparer les dates
if ($dateDepot<$date)
{
echo '<script LANGUAGE="javascript"> alert ("La date limite de dépôt des Offres est invalide!!");</script>';
exit;
}
$total=$cout + $delais + $garantie + $experience; //on fait le total des pondérations
if (($total > 10) OR ($total < 10)) // on vérifie le total s'il est égale à 10
{
echo '<script LANGUAGE="javascript"> alert ("Le total de votre pondération des critères de sélection doit être égale à 10!");</script>';
exit;
}
mysql_query("INSERT INTO Appeldoffre VALUES('', '" . $id . "', '" . $objet . "', '" . time() . "', '" . $dateDepotOffre . "', '" . $modalitePaiement . "', '" . $modaliteLivraison . "')");
$sql = "SELECT id_Appeldoffre FROM Appeldoffre WHERE objet_appeldoffre='$objet'"; // pour chercher l'id de l'Appel d'offre qu'on vient d'enregistrer!!
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
$idApel_offre=$data['id_Appeldoffre'];
mysql_query("INSERT INTO critere_selection VALUES('" . $idApel_offre . "', '" . $cout . "','" . $delais . "', '" . $garantie . "', '" . $experience . "')");
echo '<script language=javascript> alert ("Votre Appel d\'offre a été enregistré!!");</script>';
echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="membre.php" </SCRIPT>';
}
mysql_close($n);
}
?>
jeveux envoyer le tableau description Appel d'offre dans la table description_appel d'offre mais sil ya des erreurs dans le formulaire comme une date de depot des offres invalide comment je pourrais recuperer le tableau description appel doffre avec les $_POST je vous signale que les champs produit et quentite et description produit sont des tableaux aussi merci de vtre aide