2017-10-21 20 views
-1

J'ai plusieurs tableaux, Les données sont extraites de la base de données, en utilisant la fonction unserialize. comme je sais, qu'en utilisant foreach (array_combine) je peux obtenir le résultat désiré, mais array_combine ne peut avoir que 2 paramètres. J'ai donc besoin d'une solution où je peux récupérer plusieurs valeurs de tableau, les combiner et les afficher dans ma table.Besoin d'aide pour afficher la valeur unserialize multiple en utilisant array_combine ou toute autre méthode disponible

exemple ici seulement pour 2 paramètres fonctionne bien, ce code fonctionne bien comme je l'ai passer seulement 2 paramètres à array_combine

$b_destinations = unserialize(base64_decode($rs['b_destinations'])); 
 
$b_nights = unserialize(base64_decode($rs['b_nights'])); 
 

 
foreach (array_combine($b_destinations[0], $b_nights[0]) as $desti=>$nights) 
 
{ 
 
echo" 
 
<tr><td>Detination</td><td> ".$desti."</td><td>Nights : ".$nights."</td></tr>"; 
 
}

mais je veux afficher plusieurs valeurs de tableau ici

$b_hdest = unserialize(base64_decode($rs['b_hdest'])); 
 
$b_hname = unserialize(base64_decode($rs['b_hname'])); 
 
$b_hadd = unserialize(base64_decode($rs['b_hadd'])); 
 
$b_hphone = unserialize(base64_decode($rs['b_hphone'])); 
 
$b_hin = unserialize(base64_decode($rs['b_hin'])); 
 
$b_hout = unserialize(base64_decode($rs['b_hout'])); 
 
$b_hroom = unserialize(base64_decode($rs['b_hroom'])); 
 
$b_hmeal = unserialize(base64_decode($rs['b_hmeal'])); 
 
$b_haextra = unserialize(base64_decode($rs['b_haextra'])); 
 
$b_hcextra = unserialize(base64_decode($rs['b_hcextra'])); 
 
$b_hspecial = unserialize(base64_decode($rs['b_hspecial'])); 
 
$b_hincl = unserialize(base64_decode($rs['b_hincl'])); 
 

 
$hcnt=1; 
 

 
//which method or function use here to display this desired result 
 
foreach or any other method loop 
 
{ 
 
echo "<tr><td colspan='4'>Hotel Details ".$hcnt."</td></tr> 
 
<tr><td>Destination : ".$b_hdest."</td><td>Hotel Name : ".$b_hname."</td><td>Add : ".$b_hadd."</td><td>Phone : ".$b_hphone."</td></tr> 
 

 
<tr><td>Check In : ".$b_hin."</td><td>Check Out : ".$b_hout."</td><td>Rooms : ".$b_hroom."</td><td>Meal : ".$b_hmeal."</td></tr> 
 

 
<tr><td>Extra Adult : ".$b_haextra."</td><td>Extra Child : ".$b_hcextra."</td><td>Special : ".$b_hspecial."</td><td>Inclusion : ".$b_hincl."</td></tr>"; 
 
$hcnt++; 
 
}

et j'ai besoin du résultat souhaité pour être comme ça. J'ai utilisé array_combine mais cela ne fonctionne que pour 2 paramètres existe-t-il d'autres méthodes ou moyens de le faire.

.mytable table, td, th {  
 
    border: 1px solid #ddd; 
 
    text-align: left; 
 
} 
 

 
.mytable table { 
 
    border-collapse: collapse; 
 
    width: 100%; 
 
} 
 

 
.mytable th, td { 
 
    padding: 15px; 
 
}
<table class='mytable'> 
 
<tr><td colspan='4'>Hotel Details 1</td></tr> 
 
<tr><td>Destination : Kerala</td><td>Hotel Name : Beach Resort</td><td>Add : hotel address</td><td>Phone : 7447344789</td></tr> 
 

 
<tr><td>Check In : 10/11/2017</td><td>Check Out : 15/11/2017</td><td>Rooms : 4</td><td>Meal : MAP</td></tr> 
 

 
<tr><td>Extra Adult : 1</td><td>Extra Child : 1</td><td>Special : no special</td><td>Inclusion : no inclusion</td></tr> 
 
<tr><td colspan='4'>Hotel Details 2</td></tr> 
 
<tr><td>Destination : Kerala</td><td>Hotel Name : Beach Resort</td><td>Add : hotel address</td><td>Phone : 7447344789</td></tr> 
 

 
<tr><td>Check In : 10/11/2017</td><td>Check Out : 15/11/2017</td><td>Rooms : 4</td><td>Meal : MAP</td></tr> 
 

 
<tr><td>Extra Adult : 1</td><td>Extra Child : 1</td><td>Special : no special</td><td>Inclusion : no inclusion</td></tr> 
 
<tr><td colspan='4'>Hotel Details 3</td></tr> 
 
<tr><td>Destination : Kerala</td><td>Hotel Name : Beach Resort</td><td>Add : hotel address</td><td>Phone : 7447344789</td></tr> 
 

 
<tr><td>Check In : 10/11/2017</td><td>Check Out : 15/11/2017</td><td>Rooms : 4</td><td>Meal : MAP</td></tr> 
 

 
<tr><td>Extra Adult : 1</td><td>Extra Child : 1</td><td>Special : no special</td><td>Inclusion : no inclusion</td></tr> 
 
</table>

+0

Tant que les touches sont différentes, vous pouvez utiliser 'arrayOfArray = array1 + array2 + array3 + array4 + array5'. [Exemple.] (Https://stackoverflow.com/questions/2140090/operator-for-array-in-php) –

+0

Pourquoi tout encodage base64 a-t-il été effectué? Je suggère comment vous stockez ces données est très sous-optimale, corrigez ce premier – rtfm

+0

car j'accepte des données de textarea pour le stockage, ainsi quand j'utilise des noms comme "le plus grand d'Asie" etc à cause de quand je stockais des données dans la base de données en utilisant la fonction serialize il me donnait erreur bcoz de cela, donc j'ai utilisé la méthode base64 enocde pour stocker properyl et décoder pour récupérer les données correctement – Revati

Répondre

0

essayer ce qui suit et laissez-moi savoir

for($i=0;$i<count($b_hdest[0]);$i++){ 
 
echo" 
 
    <tr><td>Hotel Details ".($i+1)."</td></tr> 
 
    <tr><td>Location : ".$b_hdest[0][$i]."</td><td>Name : ".$b_hname[0][$i]."</td><td>Address : ".$b_hadd[0][$i]."</td><tr> 
 
    <tr><td>Phone : ".$b_hphone[0][$i]."</td><td>CheckIn : ".$b_hin[0][$i]."</td><td>CheckOut : ".$b_hout[0][$i]."</td><tr> 
 
    <tr><td>Rooms : ".$b_hroom[0][$i]."</td><td>Meals : ".$b_hmeal[0][$i]."</td><td>Extra Adult : ".$b_haextra[0][$i]."</td><tr> 
 
    <tr><td>Extra Child : ".$b_hcextra[0][$i]."</td><td>Special : ".$b_hspecial[0][$i]."</td><td>Inclusion : ".$b_hincl[0][$i]."</td><tr> 
 
"; 
 
}

+0

monsieur j'ai déjà essayé cela, il m'a donné tableau à l'erreur de conversion de chaîne – Revati

+0

monsieur j'ai déjà essayé cela, il m'a donné tableau à l'erreur de conversion de chaîne – Revati

+0

merci pour l'aide monsieur, il a été résolu travaillé charme aimé. déjà résolu par @ abhishek-aggrawal monsieur. – Revati