मैंने इस पोस्ट पर सुझाए गए समाधान का उपयोग करके PHP के साथ एक क्षैतिज HTML तालिका बनाई: PHP का उपयोग करके लंबवत के बजाय क्षैतिज तालिका को प्रिंट करना

और मेरा कोड इस तरह है:

$sql="SELECT Pr1, Pr2, Pr3, Pr4 FROM Tbdata ORDER BY Date DESC";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_assoc($result);

$Pr1 = '';
$Pr2 = '';
$Pr3 = '';
$Pr4 = '';

while($row = $result->fetch_assoc())
{

    $Pr4 .= '<td>'.$row['Pr4'].'</td>';
    $Pr3 .= '<td>'.$row['Pr3'].'</td>';
    $Pr2 .= '<td>'.$row['Pr2'].'</td>';
    $Pr1 .= '<td>'.$row['Pr1'].'</td>';
}


echo '
    <table class="table">     
        <tbody>
            <tr>
             <td>'.$Pr4.'</td>
            </tr>
            <tr>
             <td>'.$Pr3.'</td>
            </tr>
             <tr>
             <td>'.$Pr2.'</td>
             </tr>
             <tr>
             <td>'.$Pr1.'</td>
            </tr>
    </tbody>
    </table>
'; 

?>

कोड ठीक काम करता है। एकमात्र समस्या यह है कि मैं क्वेरी में दिनांक डीईएससी के साथ डेटा निकालता हूं। किसी कारण से, नवीनतम दिनांक का डेटा तालिका में प्रकट नहीं होता है। मुझे यहां क्या समझ नहीं आ रहा है? कृपया धन्यवाद।

php
0
Max 23 सितंबर 2018, 17:19

2 जवाब

सबसे बढ़िया उत्तर

प्रत्येक fetch कॉल पंक्ति गणना 1 स्थिति को आगे बढ़ाती है। केवल while फ़ेच कॉल करें। पिछले एक को हटा दें (या इसे टिप्पणी करें, जैसा कि मुझे दिखाना है)।

//$row=mysqli_fetch_assoc($result);

$Pr1 = '';
$Pr2 = '';
$Pr3 = '';
$Pr4 = '';

while($row = $result->fetch_assoc())
1
user3783243 23 सितंबर 2018, 17:29

आप पहली पंक्ति को त्यागें ...

$sql="SELECT Pr1, Pr2, Pr3, Pr4 FROM Tbdata ORDER BY Date DESC";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_assoc($result);   // Reads row, comment this out

उस अंतिम पंक्ति पर टिप्पणी करें।

साथ ही जब आप प्रत्येक आइटम को <td> टैग में लपेटते हैं, तो आपको उनकी आवश्यकता नहीं होती...

<td>'.$Pr4.'</td>

तो इनमें से <td> और </td> टैग हटा दें।

1
Nigel Ren 23 सितंबर 2018, 17:29