Erreur de tableau
Résolu
valentin
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
bonjour,
EDIT : Ajout des balises de code
voici mon code : il m'indique Warning: Illegal offset
mais quesqu'y vas pas
merci de votre attention
$matrice[$donneeseffect][0] = $donneeseffect;
if($donneestag==1){
$matrice[$donneeseffect][1] = $matrice [$donneeseffect] [1] +1;
}
if($donneestag==2){
$matrice[$donneeseffect][2] = $matrice [$donneeseffect] [2] +1;
}
if($donneestag==5){
$matrice[$donneeseffect][3] = $matrice [$donneeseffect] [3] +1;
}
if($donneestag==6){
$matrice[$donneeseffect][4] = $matrice [$donneeseffect] [4] +1;
}
EDIT : Ajout des balises de code
voici mon code : il m'indique Warning: Illegal offset
mais quesqu'y vas pas
merci de votre attention
A voir également:
- Erreur de tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
4 réponses
Donc... ta matrice ressemble à ça :
.. comme tu peux le voir .. les "indexes" commencent à ZERO et non à 1 .... (et vont jusqu'à 2 )
Donc
Ne peuvent pas fonctionner.... 3 et 4 sont en dehors de la dimension de ton array
Array
(
[1] => Array
(
[0] => 0
[1] => 4
[2] => 0
)
[2] => Array
(
[0] => 0
[1] => 4
[2] => 0
)
[3] => Array
(
[0] => 0
[1] => 4
[2] => 0
)
)
.. comme tu peux le voir .. les "indexes" commencent à ZERO et non à 1 .... (et vont jusqu'à 2 )
Donc
if($donneestag==5){
$matrice[$donneeseffect][3] = $matrice [$donneeseffect] [3] +1;
}
if($donneestag==6){
$matrice[$donneeseffect][4] = $matrice [$donneeseffect] [4] +1;
Ne peuvent pas fonctionner.... 3 et 4 sont en dehors de la dimension de ton array
Bonjour,
Tout d'abord, inspire-toi de ça : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Tout d'abord, inspire-toi de ça : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
oups dsl lu un peut tros vite : voici l'erreur maintenant :
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Warning: Illegal offset type in /Users/alainmeo/Desktop/base.php on line 65
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 0 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 1 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
Notice: Undefined offset: 2 in /Users/alainmeo/Desktop/base.php on line 94
0
le script en entier :
EDIT : AJout des balises de code (encore.......!!! )
<?php
//$pass = "root";
//$user = "root";
//$host = "localhost";
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
try
{
$bdd = new PDO('mysql:linux_socket=/Applications/MAMP/tmp/mysql/mysql.sock;host=127.0.0.1;port=8889;dbname=teste','root','root');
//;charset=utf8
//$user = 'root';
//$password = 'root';
//$db = 'teste';
//$host = 'localhost';
//$port = 8889;
//$link = mysqli_init();
//$success = mysqli_real_connect(
//$link,
//$host,
//$user,
//$password,
//$db,
// $port
//);
// $user = 'root';
//$password = 'root';
//$db = 'inventory';
//$host = '127.0.0.1';
//$port = 8889;
//$socket = 'localhost:/Applications/MAMP/tmp/mysql/mysql.sock';
//$link = mysqli_init();
//$success = mysqli_real_connect(
// $link,
//$host,
//$user,
//$password,
//$db,
//$port,
//$socket
//);
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
//$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$compteur = 0;
$nbLignes = $bdd->query('select count(*) from maTable');
// ou nb d'effect
$matrice = array_fill ( 1 , $nbLignes , array(0 , 4 , "0" ));
$reponcetag = $bdd->query('SELECT ID_tag FROM vote_tag_effect');
$reponceuser = $bdd->query('SELECT ID_user FROM vote_tag_effect');
$reponseeffect = $bdd->query('SELECT ID_effect FROM vote_tag_effect');
while ($donneeseffect = $reponseeffect->fetch()){
while ($donneesuser = $reponceuser->fetch()){
while ($donneestag = $reponcetag->fetch()){
$matrice[$donneeseffect][0] = $donneeseffect;
if($donneestag==1){
$matrice[$donneeseffect][1] = $matrice [$donneeseffect] [1] +1;
}
if($donneestag==2){
$matrice[$donneeseffect][2] = $matrice [$donneeseffect] [2] +1;
}
if($donneestag==5){
$matrice[$donneeseffect][3] = $matrice [$donneeseffect] [3] +1;
}
if($donneestag==6){
$matrice[$donneeseffect][4] = $matrice [$donneeseffect] [4] +1;
}
//$compteur = $compteur +1;
}
}
}
$bdd = null;
$nbdeffect=3;
for ($i=0;$i<$nbdeffect;$i++) {
for ($j=0;$j<=4;$j++){
printf("%b",$matrice[$i][$j]);
}
print("\n");
//print_r($matrice)
}
?>
EDIT : AJout des balises de code (encore.......!!! )
Je ne comprend pas l'intéret de faire 3 requêtes sur la même table... alors qu'une seule suffit
$reponcetag = $bdd->query('SELECT ID_tag FROM vote_tag_effect');
$reponceuser = $bdd->query('SELECT ID_user FROM vote_tag_effect');
$reponseeffect = $bdd->query('SELECT ID_effect FROM vote_tag_effect');
$tesDatas = $bdd->query('SELECT ID_tag, ID_user,ID_effect FROM vote_tag_effect');