Probleme d'affichage de ma table

Résolu/Fermé
kinder77 Messages postés 134 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 octobre 2013 - 25 oct. 2013 à 22:43
 Utilisateur anonyme - 31 oct. 2013 à 07:55
Bonjour,

Bonjour,

voila j'ai ma base de donnée salades que voici [
-- phpMyAdmin SQL Dump
-- version 3.4.9
-- https://www.phpmyadmin.net/
--
-- Client: localhost
-- Généré le : Ven 25 Octobre 2013 à 19:45
-- Version du serveur: 5.5.20
-- Version de PHP: 5.3.9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: 'crok'
--

-- --------------------------------------------------------

--
-- Structure de la table 'salades'
--

CREATE TABLE IF NOT EXISTS 'salades' (
'id' int(11) NOT NULL AUTO_INCREMENT,
'name' varchar(255) NOT NULL,
'desc' varchar(100) NOT NULL,
'price' varchar(100) NOT NULL,
PRIMARY KEY ('id')
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

--
-- Contenu de la table 'salades'
--

INSERT INTO 'salades' ('id', 'name', 'desc', 'price') VALUES
(1, 'Parisienne', 'jambon , oeuf ,', '5.50'),
(2, 'Norvégienne', 'pommes de terre , saumon fumé , citron', '5.50'),
(3, 'Niçoise', 'thon , pommes de terre , oeufs , olives', '5.50'),
(4, 'Fermiére', 'poulet, pommes de terre , emmental', '5.50'),
(5, 'Mixte', 'salade , tomates , olives', '3.00'),
(6, 'Caesar', 'poulet , carrotte , tomates fraiches croutons', '6.50');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

elle contient bien 6 tulpes mais quand je fait un print_r en php elle m'affiche
Array
(
[c4ca4238a0b923820dcc509a6f75849b] => Array
(
[rowid] => c4ca4238a0b923820dcc509a6f75849b
[id] => 1
[qty] => 1
[price] => 5.5
[name] => Parisienne
[desc] => jambon , oeuf, emmental
[subtotal] => 5.5
)

[c81e728d9d4c2f636f067f89cc14862c] => Array
(
[rowid] => c81e728d9d4c2f636f067f89cc14862c
[id] => 2
[qty] => 1
[price] => 5.5
[name] => Norvegienne
[desc] => pommes de terre , saumon fumé, citron
[subtotal] => 5.5
)

[e4da3b7fbbce2345d7772b0674a318d5] => Array
(
[rowid] => e4da3b7fbbce2345d7772b0674a318d5
[id] => 5
[qty] => 1
[price] => 3
[name] => Mixte
[desc] => salade, tomate, olives
[subtotal] => 3
)

[1679091c5a880faf6fb5e6087eb1b2dc] => Array
(
[rowid] => 1679091c5a880faf6fb5e6087eb1b2dc
[id] => 6
[qty] => 1
[price] => 6.5
[name] => Caesar
[desc] => poulet, carotte, tomates fraiches, croutons
[subtotal] => 6.5
)

)
il manque des tulpes pouvez vous m'aidez svp

7 réponses

Utilisateur anonyme
26 oct. 2013 à 12:43
Bonjour

Comment fais-tu pour faire ton print_r en php ? Peux-tu donner le code ? Très bizarre par exemple que le 'é' de Norvégienne devienne un 'e' sans accent dans ton print_r. Tu as du 'bricoler' un peu
0
kinder77 Messages postés 134 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 octobre 2013 9
26 oct. 2013 à 15:57
ok . c'est sur codeIgniter j'utilise la librairies cart :

cart_test
function add(){

$data=array(
array(
'id'=>1,
'qty' => 1,
'price' => 5.50,
'name' => 'Parisienne',
'desc' => 'jambon , oeuf, emmental'
),
array(
'id' => 2,
'qty' => 1,
'price' => 5.50,
'name' => 'Norvegienne',
'desc' => 'pommes de terre , saumon fumé, citron'
),
array(
'id' => 3,
'qty' => 1,
'price' => 5.50,
'name' => 'Niçoise',
'desc' => 'thon , pommes de terre, emmental'
),
array(
'id' => 4,
'qty' => 1,
'price' => 5.50,
'name' => 'Fermière',
'desc' => 'poulet , pommes de terre , emmental'
),
array(
'id' => 5,
'qty' => 1,
'price' => 3.00,
'name' => 'Mixte',
'desc' => 'salade, tomate, olives'
),
array(
'id' => 6,
'qty' => 1,
'price' => 6.50,
'name' => 'Caesar',
'desc' => 'poulet, carotte, tomates fraiches, croutons'
)
);



$this->cart->insert($data);

salade (le controller)

function add(){
$this->load->model('salad_model');


$product= $this->salad_model->get($this->input->post('id'));

$insert=array(
'id'=> $this->input->post('id'),
'qty'=>1,
'price'=>$product->price,
'name'=>$product->name
);
if ($product->option_name) {
$insert['options'] = array(
$product->option_name => $product->option_values[$this->input->post($product->option_name)]
);
}

$this->cart->insert($insert);

redirect('salades');


}

mon model salad_model

class Salad_model extends CI_Model {

function get_all(){
$results= $this->db->get('salades')->result();

foreach ($results as $result){

}
return $results;
}

function get($id){
$results = $this->db->get_where('salades', array('id' => $id))->result();
$result = $results[0];

if ($result->option_values) {
$result->option_values = explode(',',$result->option_values);
}

return $result;
}

}
?>

ma vue
<!-- CONTENT SLIDE -->
<div class="row">
<div class="large-12 columns">
<h2 class="subheader">Nos salades</h2>
</div>

<div class="large-8 columns">

<div class="large-6 small-12 columns">
<ul class="pricing-table" id="numero2">
<?php foreach ($salades as $salade):?>
<?php $i = 1; ?>

<?php echo form_open('salades/add'); ?>
<li class="title"><?php echo $salade->name;?></li>

<li class="price"><?php echo $salade->price;?> €</li>

<li class="description"><?php echo $salade->desc;?>.</li>

<?php echo form_hidden ('id', $salade->id);?>





<li class="cta-button"><?php echo form_submit('action','Ajouter '); ?></li>
<?php echo form_close(); ?>
<?php endforeach;?>
</ul>
</div>



</div>
<div class="large-4 columns">
<div class="panel">
<h4>This is Our Sidebar</h4>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, .</p>
<?php if ($cart = $this->cart->contents()): ?>
<div id="cart">
<table>
<caption>Shopping Cart</caption>
<thead>
<tr>
<th>Item Name</th>
<th>Option</th>
<th>Price</th>
<th></th>
</tr>
</thead>
<?php foreach ($cart as $item): ?>
<tr>
<td><?php echo $item['name']; ?></td>
<td>
<?php if ($this->cart->has_options($item['rowid'])) {
foreach ($this->cart->product_options($item['rowid']) as $option => $value) {
echo $option . ": <em>" . $value . "</em>";
}

} ?>
</td>
<td><?php echo $item['subtotal']; ?>€</td>
<td class="remove">
<?php echo anchor('salades/remove/'.$item['rowid'],'X'); ?>
</td>
</tr>
<?php endforeach; ?>
<tr class="total">
<td colspan="2"><strong>Total</strong></td>
<td><?php echo $this->cart->total(); ?>€</td>
</tr>
</table>
</div>
<?php endif;?>
</div>
</div>
</div>

voila
0
Utilisateur anonyme
27 oct. 2013 à 15:04
Ça a déjà changé par rapport à ta première question. Tu initialisais tes tables avec un INSERT, maintenant tu codes tes valeurs "en dur" dans ta fonction "add" de cart_test. Avec de légères différences de valeurs, d'ailleurs.
Tu te plaignais d'un affichage de print_r qui ne montrait pas ce que tu voulais. Je te demande comment tu fais le print_r, et il n'y en a aucun dans le code que tu nous montres. Par contre, tu utilises une bibliothèques (et non pas une "librairies") dont on ne sait rien.

La seule chose qui me semble significative, c'est que les deux lignes qui te manquent sont celles dont le champ 'name' comporte des caractères non ASCII. Tu as probablement un problème d'encodage. Puisque tes tables sont clairement en utf-8, je parie que ton éditeur de texte, lui, ne l'est pas. Et dans ce cas, tes 'Niçoise' et 'fermière' ne sont pas les mêmes dans ton programme et dans ta table.
As-tu une idée de l'encodage de ton éditeur de texte ? Sais-tu le forcer à travailler en utf-8 ?
0
kinder77 Messages postés 134 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 octobre 2013 9
Modifié par kinder77 le 28/10/2013 à 20:48
d'abord merci de ta reponse le print_r je l'ai effectuer dans mon controller mais j'ai supprimer la ligne ci dessus ensuite l'ide et netbeans je sais pas si c'est un probleme d'encodage mais je verifie

voici mon print
 function index(){
$this->load->model('salad_model');

$data['salades']= $this->salad_model->get_all();

echo "<pre>";
print_r($data['salades']);
/this->load->view('salade',$data);

$this->load->view('salade',$data);
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
28 oct. 2013 à 22:05
Je ne connais absolument pas la bibliothèque que tu utilises, et elle ne fait pas partie des bibliothèques standard PHP, donc la plus grande partie de ton code est incompréhensible pour moi et je ne peux pas t'aider à l'analyser.

Pour tester le problème d'encodage, as-tu pensé à ajouter des nouveaux types sans caractères spéciaux pour voir s'ils sont pris en compte ou ignorés ?
0
kinder77 Messages postés 134 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 30 octobre 2013 9
30 oct. 2013 à 22:42
vous avez raison papa j'ai essayé sans caractères spéciaux ça fonctionne le problème vient de l ide !?? ; netbeans
0
Utilisateur anonyme
31 oct. 2013 à 07:55
Faut arrêter de toujours accuser les autres ... Le problème vient beaucoup plus probablement de ta méconnaissance de ce qu'est l'encodage, et de la façon dont les divers logiciels le traitent. Je ne connais pas particulièrement netbeans, mais ça m'étonnerait vraiment beaucoup qu'il ne traite pas correctement l' encodage des caractères.
Fais-tu un SET NAMES UTF8 à ta connexion à ton serveur mysql ?
0