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 | 1227 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
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone de rubik's cube
Ingénieur Industriel Chimie / Biochimie

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 | 8755 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 | 8755 Messages

07 mars 2017, 17:18

as-tu débogué ?

il y a quoi dans data ?

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