Bonsoir.

Je ne suis pas sûre d'avoir tout saisie : vous fixez la hauteur de l'image, vous connaissez le ratio de l'image, vous voulez reporter la largeur de l'image qui en résulte sur une div placée en position : fixed ?
Le calcul de la largeur du header n'est-il pas :
width : calc((100vh - 35px) * 3/2);

?
Smiley smile
Bonsoir.

Vous fixez une hauteur de 100px à votre footer mais vous le mettez en même temps en 'position : absolute'. Vous le sortez donc du calcul de la hauteur totale.

Le padding-bottom de la 'div.gerks-pr' n'est que de 40px.

Lorsque la hauteur de la page est suffisamment grande, cela ne pose pas de problèmes. Mais si la hauteur de la page diminue…

CQFD : la hauteur du padding-bottom doit être au moins 100px.

Smiley smile
Bonjour

Je n'arrive pas a attribuer à un bloc div une largeur étant égale à la largeur d'une image.
Les paramètre sont : un header (35px de haut) en fixed, et une image en 100vh (100vh - 35px) qui est en 2/3 de ratio.

Je pensais pouvoir faire ce calcul à partir d'un opération mathématique, mais je ne sais pas comment faire. Quelque chose du type width:calc(100vh - (2/3) * 100% - (....)......) où quelque chose comme ça.

Je pourrais le faire en Javascript mais le window.resize donne un temps de latence entre le moment où le navigateur est redimensionné et le calcul, moins efficace qu'une ligne CSS. Sachant que le header est en fixed, plus de relation au parent possible, donc je ne sais pas comment faire.

https://jsfiddle.net/0nvjbbz8/

Toutes propositions sera la bienvenue
Bonjour,

J'ai un soucis avec Cordova, dans le terminal, tout est bien installé :
- Java JDK 8
- Android Studio
- Apache Ant

J'ai compris comment créer mon projet, etc... comment le lancer dans l'émulateur ou sur mon smartphone.

Mais maintenant, quand j'utilise dans le terminal la fonction :
cordova build android

J'obtiens une erreur chelou, mais je ne comprend pas ce que c'est, quelqu'un pourrait-il m'éclairer ?

ANDROID_HOME=/Users/rhq/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Subproject Path: CordovaLib
Error: spawn EACCES


Merci d'avance !
Bonjour,

J'ai un soucis avec Cordova, dans le terminal, tout est bien installé :
- Java JDK 8
- Android Studio
- Apache Ant

J'ai compris comment créer mon projet, etc... comment le lancer dans l'émulateur ou sur mon smartphone.

Mais maintenant, quand j'utilise dans le terminal la fonction :
cordova build android

J'obtiens une erreur chelou, mais je ne comprend pas ce que c'est, quelqu'un pourrait-il m'éclairer ?

ANDROID_HOME=/Users/rhq/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Subproject Path: CordovaLib
Error: spawn EACCES


Merci d'avance !
Modifié par rhq (28 Jun 2017 - 20:04)
Bonjour,

J'ai un soucis avec Cordova, dans le terminal, tout est bien installé :
- Java JDK 8
- Android Studio
- Apache Ant

J'ai compris comment créer mon projet, etc... comment le lancer dans l'émulateur ou sur mon smartphone.

Mais maintenant, quand j'utilise dans le terminal la fonction :
cordova build android

J'obtiens une erreur chelou, mais je ne comprend pas ce que c'est, quelqu'un pourrait-il m'éclairer ?

ANDROID_HOME=/Users/rhq/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Subproject Path: CordovaLib
Error: spawn EACCES


Merci d'avance !
Modifié par rhq (28 Jun 2017 - 20:05)
j'ai éssayé d'aborder le probleme sous l'angle des requettes préparées mais ca ne marche pas en fait c'est la premiere fois que j'utilise les checkbox, la requette sql delete et foreach

<?php 
if (isset($_POST['$id']))
{
    $valeur = ($_POST['$id']);
 }
else
{
 try
            {
 // On se connecte à MySQL
          $bdd = new PDO('mysql:host=localhost;dbname=comptes;charset=utf8',
          'root','');
             }
  catch(Exception $e)
            {
    // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
            }
			
 
         foreach ($delete as $valeur)
		   {
             
              $req = $bdd->prepare(DELETE FROM eleves where id=:id);
	         $req->execute(array(

           'id' => $valeur,
 
           ));
           }
$req->closeCursor(); 

echo ' Enregistrement éffacé '.'<br><br />';
}
?>

 
Bonjour, j’ai une table qui renferme des informations concernant des élèves avec les champs « id », « prenom », « classe ». Je veux arriver à lister le contenu de la table dans un tableau avec des cases à cocher à côté de chaque enregistrement comme un formulaire, de sorte qu’une fois je coche sur une ou plusieurs cases, j’arrive à supprimer les enregistrements correspondants dans la table.
Pour l’affichage des données avec les cases à cocher dans le tableau là j’ai aucun problème tout se passe comme je l’ai prévu.
Je bloque lorsque j’appuie sur le bouton submit pour effacer les enregistrements devant lesquels j’ai coché sur le tableau, je ne sais pas là où ça coince quelqu’un peut-il m’aider c’est important pour moi. Je ne trouve pas de solution malgré mes recherches.
Voici mon code

Le tableau(eleves.php)

<html > 
<body> 

<form method='POST' action='eleves_traitement.php'>
<table border="1">
<tr>
<td width=''>Prénom</td>
<td width=''>classe</td>
<td width=''>Choix</td>
</tr>

<?php
        try
            {
 // On se connecte à MySQL
          $bdd = new PDO('mysql:host=localhost;dbname=comptes;charset=utf8',
          'root','');
             }
  catch(Exception $e)
            {
    // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
            }
 $reponse = $bdd->query('SELECT * FROM eleves');
  // On affiche chaque entrée une à une
    while ($donnees = $reponse->fetch())
            {
echo"<tr><td>".$donnees['prenom']."</td>";
echo"<td>".$donnees['classe']."</td>";
echo"<td><input type='checkbox' name='delete[]' value='".$donnees['id']."'></td>";
echo"</tr>";
            }
$reponse->closeCursor(); 

?>
</table>
<p>
<input type="submit" value="envoyer" name="Envoyer">

</form>

</body>
	
</html>



eleves_traitement.php

<?php 
if (sizeof($delete)==0)

{
header('Location:eleves.php');
exit;
}

else
{
 try
            {
 // On se connecte à MySQL
          $bdd = new PDO('mysql:host=localhost;dbname=comptes;charset=utf8',
          'root','');
             }
  catch(Exception $e)
            {
    // En cas d'erreur, on affiche un message et on arrête tout
        die('Erreur : '.$e->getMessage());
            }
			
         $reponse = $bdd->query('SELECT * FROM eleves');
         foreach ($delete as $valeur)
		   {
              $sql="DELETE FROM eleves where id='$id'";
              
           }
$reponse->closeCursor(); 

echo ' Enregistrement éffacé '.'<br><br />';
}
?>

Bonjour à tous,

J'ai toujours eu des problèmes avec les footer.

Ici, le footer chevauche le bloc principal du site.

J'ai arraché plusieurs fois les cheveux, j'ai pu résoudre le problème.

Voilà le code:

 /**** HTML ***/<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-FR" lang="fr-FR" prefix="og:  http://ogp.me/ns#"  class="no-js"> <head> <meta charset="utf-8" /> <meta name="robots" content="noodp" />

<link rel="stylesheet" href="clement.css">

<meta name="viewport" content="width=device-width, initial-scale=1" /> <title>CLEMENT</title>

</head> <body> <div class="pryser"> <div class="gerks-pr"> <section id="modal">

</section>

<div class="container"> <div class="row" id="text">

<div class="columnav">

<h2>CLEMENT</h2>

<p>Site Internet personnel de Clément. Futur développeur web.<br>

Je vous souhaitons la bienvenue, <br>au plus vite, vous trouverez sur ce site Internet de nombreuses informations.<br>

<p></p>

CLEMENT, depuis Bamako - Mali.

</p>

<a class="btn btn-primary" data-toggle="modal" data-target="#contact">Me contacter</a>

</div> </div>

</div>

</div>

<footer class="nasa">Copyright @ CLEMENT </footer> </div>

</body> </html> 

 /*** CSS ***/
html,body{ height: 100% }

body{ font-family:'Merriweather Sans', 'Ubuntu', 'Maven Pro', 'Open Sans'; padding-top:30px;margin:0;font-size:16px;text-align:center; }.pryser{min-height:100%;width:100%; margin:0;padding:0;position:relative;} .gerks-pr{padding-bottom:30px;} .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto;padding-bottom: 2px; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .btn-primary{ padding:10px 20px 10px 20px; background-color:transparent; border:1px solid #000; border-radius: 4px; margin-top:3px;

}

.btn-primary:hover{ transition-duration:1s; background-color:rgba(0,0,0,0.4); border:1px solid #000; } .nasa{position:absolute;height: 100px;bottom: 0;left: 0;right: 0;border: 1px solid transparent;background-color:rgba(0,0,0,0.3) } @media (min-width: 768px) { .nasa{ border-radius: 4px; } } .nasa{ bottom: 0; margin-bottom: 0; border-width: 1px 0 0;
}

Par avance, merci.
Ca ne fonctionne pas Zelena... Smiley decu

J'ai ce formulaire (très allégé pour bien ciblé le problème Smiley cligne )

<form method="post" action="gestionnaire_utilisateurs.php" id="setUsrForm"> 
    <button type="submit" name="delButton" class="delButtons"></button>
    <button type="submit" name="validButton" class="validButtons"></button>
</form>


et ce traitement JS

var setUsrForm = document.getElementById('setUsrForm');
setUsrForm.addEventListener("click", function(e)
		    {
		    	var clickEl = e.target;

		    	if (clickEl.class = 'delButtons')
		    	{
		    		e.preventDefault()
		    	}
		    });

Avec ça, le e.preventDefault() devrait agir que quand je clique sur le delButtons, pourtant il agit aussi quand je clique sur validButtons
Modifié par TooKi (28 Jun 2017 - 16:54)
Bonjour.
TooKi a écrit :
Ok donc si j'ai bien compris, je dois enlever le type="submit" de mon bouton supprimer, lui affecter un événement onclick…

Pas besoin. Il suffit juste de rendre son comportement par défaut inopérant.
On peut écouter l'événement "submit" sur le formulaire, et, par exemple, avec DOM-2, faire un event.preventDefault(); (event est arbitraire, on reprend l'argument de la fonction passée en paramètre à addEventListener.)
Smiley smile
25 Dernières réponses