select visiteur d'un profil

Eléphant du PHP | 257 Messages

07 mars 2017, 11:44

Bonjour, j'ai réalisé un petit script de visite de profil des membres, le soucis je n'arrive cas une seule sortie, des membres qui on visité une profil bien précis. il y a sur une erreur de syntaxe mais je la vois pas.

Mammouth du PHP | 1207 Messages

07 mars 2017, 12:07

Nous non plus.

Soit plus précis dans tes explications et donne nous un petit bout de code sinon on peut pas t'aider

Eléphant du PHP | 257 Messages

07 mars 2017, 15:30

cette partie je est résolue j'arrive à affiché la totalité des visiteur , j'ai un soucis avec l'affichage de l'image par défaut quand le membre na pas de photo.

voilà mon code pour moi j'ai un erreur de syntaxe ou une parenthèse mal positionné
<?PHP
if(isset($_POST['del']) AND count($_POST['del']) > 0){
$del = array_map('intval', $_POST['del']);	
$message_delelte  = $connection->prepare('DELETE FROM visiteur WHERE id_visiteur IN ('.implode(',',$del).')');
$message_delelte->execute();	
}


$nbCols = 5; // nombre de colonnes du tableau 
$cpt = 0; // compteur d'éléments 

?>
<script>
function CocheTout(ref, name) {
	var form = ref;
 
	while (form.parentNode && form.nodeName.toLowerCase() != 'form'){ 
		form = form.parentNode; 
	}
 
	var elements = form.getElementsByTagName('input');
 
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].type == 'checkbox' && elements[i].name == name) {
			elements[i].checked = ref.checked;
		}
	}
}
</script>
<table width="100%" bgcolor="#0099FF" align="center">
  <tr>
    <td><b>Vos Visiteurs ils sont supprimés automatiquement tout les 5 jours</b></td>
  </tr>
</table><br/>
<?PHP
echo'<form method="post"  action="'.$_SERVER['PHP_SELF'].'" onSubmit="post.disabled=true;">
     <b>Tout cocher</b><input onclick="CocheTout(this, \'del[]\');" type="checkbox">&nbsp;
     <input type="image" name="submit" src="imdesign/poubelle.gif" width="25" height="25" title="SUPPRIMER" border="0"  onmouseover="this.src=\'imdesign/poubelle.gif\'" onmouseout="this.src=\'imdesign/poubelle.gif\'">';
?>
<table style="margin: 0 auto;"> 
  <tr>
    <th style="width:<?php echo round(100/$nbCols);?>%;"></th> 
    <th style="width:<?php echo round(100/$nbCols);?>%;"></th> 
    <th style="width:<?php echo round(100/$nbCols);?>%;"></th> 
    <th style="width:<?php echo round(100/$nbCols);?>%;"></th>
  </tr>
<?PHP
           $visiteur=$connection->prepare('SELECT * FROM visiteur WHERE pseudo=:pseudo ORDER BY id_visiteur DESC');
           $visiteur->execute(array(':pseudo'=>$_SESSION['login']));
           while($resulta = $visiteur->fetch(PDO::FETCH_OBJ)){
		   @$visiteur_passage = $resulta->id_membre; 
		   @$id_visiteur = $resulta->id_visiteur ; 
		   @$visiteur_date = $resulta->timestamp; 		   
		   
		   
		   $req_online = $connection->prepare('SELECT COUNT(1) pseudo FROM online_site WHERE id_membre=:id_membre');
           $req_online->execute(array(':id_membre'=>@$visiteur_passage));
		   while($data_online = $req_online->fetch(PDO::FETCH_OBJ)){
		   $pseudo_online = $data_online->pseudo;
		   }
		   
		   $visiteur_detail=$connection->prepare('SELECT * FROM membres WHERE id_membre=:id_membre');
           $visiteur_detail->execute(array(':id_membre'=>@$visiteur_passage));
           while($data = $visiteur_detail->fetch(PDO::FETCH_OBJ)){
		   $ID_V = $data->id_membre;
		   $ID_S = $data->pseudo;
		   $ID_SE = $data->type;


include_once'function_mini.php';

      $photo_1 = $connection->prepare('SELECT `chemin` FROM photo_profil WHERE id_membre=:id_membre LIMIT 0,1');
      $photo_1->execute(array(':id_membre'=>$ID_V));

      while($data = $photo_1->fetch(PDO::FETCH_ASSOC)){ // parcours des résultats 

    // début d'une ligne 
    if ($cpt%$nbCols==0) // on divise le nb d'élément par le nb de colonnes. Si le reste est de 0 ... 
        echo '<tr>'; // ..., alors on est sur le premier élément d'une ligne 


    // On place chaque élément dans une cellule du tableau 
    echo'<td style="width:115px;height:165px;border:2px solid #9FC6FF;-moz-border-radius:10px 0;-webkit-border-radius:10px 0;border-radius:10px 0;" align="center">';
	$image = $data['chemin'];
    $im_src = ( !empty($image) )? ''.miniature('image_profil/'.$image.'', 150, 100) : 'imdesign/no_photo.png';echo'<img src="'.$im_src.'" style="max-width:150px; max-height:100px;border:0" alt="" />';
     
	 echo'<br/>';
     $ballColor = 'rouge';
     // Test du paramètre d'entrée
     if ($pseudo_online == 1) {
     $ballColor = 'verte';
     }
	 }
	 echo'<img src="imdesign/bille_' , $ballColor , '.png" width="15" height="15" title="Online/Offline" alt="Online/Offline">';	  
switch($ID_SE){
case"Femme":
echo '<img src="imdesign/f.png" width="20" height="20" title="Femme" /><a href="profil_membre.php?detail_p='.$ID_S.'&id_p='.$_SESSION['ID'].'"><span "style="color:#0000FF;"><b><i>'.$ID_S.'</i></b></span></a>
      <br/>'.$visiteur_date.'';
break;
case"Couple":
echo '<img src="imdesign/cpl.png" width="20" height="20" title="Couple"/><a href="profil_membre.php?detail_p='.$ID_S.'&id_p='.$_SESSION['ID'].'"><span "style="color:#0000FF;"><b><i>'.$ID_S.'</i></b></a>
      <br/>'.$visiteur_date.'';
break;
case"Homme":
echo '<img src="imdesign/h.png" width="20" height="20" title="Homme"/><a href="profil_membre.php?detail_p='.$ID_S.'&id_p='.$_SESSION['ID'].'"><span "style="color:#0000FF;"><b><i>'.$ID_S.'</i></b></a>
      <br/>'.$visiteur_date.'';
break;
}
    echo'<br/><input type="checkbox" class="box" name="del[]" value="'.$id_visiteur .'">';	  
    echo '</td>'; 

}
    // fin d'une ligne
    if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ... 
        echo '</tr>'; // ..., on est sur le dernier élément d'une ligne

    $cpt++; // on incrémente le compteur pour savoir où on en est
} 

// Au cas où ...
if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
    echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'">&nbsp;</td>'; // ... on complète avec une cellule vide de la bonne taille...
    echo '</tr>'; // ... et on ferme la ligne
}
		  
?>

</table>

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8726 Messages

07 mars 2017, 17:00

salut,

Une erreur de syntaxe php te le dirait bien fort (pour peu que tu ais activé les erreurs : error_reporting: E_ALL et display_error:on ).

Ensuite quitte à utiliser des requêtes préparées ne les créé pas dans le while mais avant ;)

est ce que ces lignes te semble claire ?
$image = $data['chemin'];
    $im_src = ( !empty($image) )? ''.miniature('image_profil/'.$image.'', 150, 100) : 'imdesign/no_photo.png';echo'<img src="'.$im_src.'" style="max-width:150px; max-height:100px;border:0" alt="" />';

Si ce n'est pas le cas je t'invite à utiliser un if / else plutôt que l'opérateur ternaire qui devrait être limité à des cas plus simple. De plus le echo à la suite c'est pas terrible !
c'est plus clair ainsi
$image ='imdesign/no_photo.png';
if( !empty($data['chemin']) ){
    $image =  ''.miniature('image_profil/'.$data['chemin'].'', 150, 100); 
}
echo '<img src="'.$image.'" style="max-width:150px; max-height:100px;border:0" alt="" />';
au passage il semble que tu n'affiches pas les erreurs vu que la variable $im_src n'existe pas ;)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 257 Messages

07 mars 2017, 17:12

Merci je viens de tester moogli c'est toujours la même chose , le résultat ne change pas ?

Avatar de l’utilisateur
Modérateur PHPfrance
Modérateur PHPfrance | 8726 Messages

07 mars 2017, 17:18

as-tu débogué ?

il y a quoi dans data ?

@+
Il en faut peu pour être heureux ......