Membership is FREE – with unlimited access to all features, tools, and discussions. Premium accounts get benefits like banner ads and newsletter exposure. ✅ Signature links are now free for all. Share your own thoughts and experience, accounts may be terminated for violations.

php mysql loop question

Status
Not open for further replies.
Joined
Jan 19, 2007
Posts
2,207
Reaction score
47
Can anyone help? I have a mysql table with the following information:

ID Name Chapter Description
1 uniqueName1 Ch1 Name uniqueDescription1
2 uniqueName2 Ch1 Name uniqueDescription2
3 uniqueName3 Ch1 Name uniqueDescription3
4 uniqueName4 Ch2 Name uniqueDescription4
5 uniqueName5 Ch2 Name uniqueDescription5
6 uniqueName6 Ch3 Name uniqueDescription6
7 uniqueName7 Ch3 Name uniqueDescription7


I have some php loop code which echos the rows in the following format:


1 - uniqueName1 - uniqueDescription1

2 - uniqueName2 - uniqueDescription2

3 - uniqueName3 - uniqueDescription3

4 - uniqueName4 - uniqueDescription4

5 - uniqueName5 - uniqueDescription5

6 - uniqueName6 - uniqueDescription6

7 - uniqueName7 - uniqueDescription7


What I would like to do is to get the Chapter Name above the lines with the same chapter. But not above every line. See below:


Ch1 Name

1 - uniqueName1 - uniqueDescription1

2 - uniqueName2 - uniqueDescription2

3 - uniqueName3 - uniqueDescription3

Ch2 Name

4 - uniqueName4 - uniqueDescription4

5 - uniqueName5 - uniqueDescription5

Ch3 Name

6 - uniqueName6 - uniqueDescription6

7 - uniqueName7 - uniqueDescription7


Do you know how I could edit my loop below:



$query = "SELECT * FROM tbl order by ID ASC";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "<br />";
echo $row['id'];
echo " - ";
echo $row['Name'];
echo " - ";
echo $row['Description'];
echo "<br />";
}
 
Many thanks Accelerator - I've made a post over there now too. Looks like I can learn a lot over there.
 
someone from dnf helped. Here's the solution for anyone interested:

$query = "SELECT * FROM tbl order by ID ASC";
$result = mysql_query($query) or die(mysql_error());

$currentChapter = ''; // added line

while($row = mysql_fetch_array($result)) {

if($currentChapter!=$row['Chapter']) {echo "<b><font color='red'>".$row['Chapter']."</font></b><br>";} // added line
$currentChapter=$row['Chapter']; // added line

echo "<br />";
echo $row['id'];
echo " - ";
echo $row['Name'];
echo " - ";
echo $row['Description'];
echo "<br />";
}

added: a guy on phpfreaks also added this solution - looks like a really useful forum.
 
Last edited:
Status
Not open for further replies.
Top Bottom