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. 🚫 No AI-generated (LLM) posts allowed. 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.

Rule #1: Be Respectful

Do not insult any other member. Be polite and do business. Thank you!

Premium Members

New Threads

Domain Forum Friends

Our Mods' Businesses

*the exceptional businesses of our esteemed moderators
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Siusaidh AcornBot:
    Siusaidh has left the room.
      Siusaidh AcornBot: Siusaidh has left the room.
      Top Bottom