Jump to content

[SOLVED] While Statement question


acctman

Recommended Posts

I have a While statement below that echos the results from my DB but i also need the mp3_id number it grabs from the DB to use in my javascript below that. how can I get it to output $en['mp3_id'] after the While process has ended?

 

<?
$mp3user = mysql_query("SELECT `mp3_id`,`mp3_userid`,`mp3_title` FROM `rate_mp3s` WHERE `mp3_userid` = '".$en['m_id']."'");

echo "<ul style=\"margin-left: 210px;\">\n";
$counter = 1;
while($en = mysql_fetch_array($mp3user)) {
echo "<li>MP3 " .$counter. " : <span id=\"mp3title-".$counter."\">".$en['mp3_title']. "</span> | <a href=\"process_mp3.php?user=" .$en['mp3_userid']. "&mp3=" .$en['mp3_id']. "\">Delete</a></li>\n";
$counter++;

}
echo "</ul>\n";

echo	"\n";
echo	"<script type=\"text/javascript\">\n";
echo	"\n";	

// This section needs to retrieve mp3_id from $en = mysql_fetch_array($mp3user)
echo	"new Ajax.InPlaceEditor('mp3title-1', '/process_mp3.php?mp3=" .$en['mp3_id']. "');\n";
echo	"new Ajax.InPlaceEditor('mp3title-2', '/process_mp3.php?mp3=" .$en['mp3_id']. "');\n";
echo	"new Ajax.InPlaceEditor('mp3title-3', '/process_mp3.php?mp3=" .$en['mp3_id']. "');\n";

echo	"\n";
echo	"</script>\n";

?>

Link to comment
https://forums.phpfreaks.com/topic/67317-solved-while-statement-question/
Share on other sites

Save them into an array.

while($en = mysql_fetch_array($mp3user)) {
$mp3IDs[] = $en['mp3_id'];
echo "<li>MP3 " .$counter. " : <span id=\"mp3title-".$counter."\">".$en['mp3_title']. "</span> | <a href=\"process_mp3.php?user=" .$en['mp3_userid']. "&mp3=" .$en['mp3_id']. "\">Delete</a></li>\n";
$counter++;
}
...
foreach($mp3IDs AS $mp3ID){
   echo "new Ajax.InPlaceEditor('mp3title-1', '/process_mp3.php?mp3=" .$en['mp3_id']. "');\n";
}

 

etc.

 

Or you could make a big string of the Ajax code in the while loop and print it later.

Save them into an array.

while($en = mysql_fetch_array($mp3user)) {
$mp3IDs[] = $en['mp3_id'];
echo "<li>MP3 " .$counter. " : <span id=\"mp3title-".$counter."\">".$en['mp3_title']. "</span> | <a href=\"process_mp3.php?user=" .$en['mp3_userid']. "&mp3=" .$en['mp3_id']. "\">Delete</a></li>\n";
$counter++;
}
...
foreach($mp3IDs AS $mp3ID){
   echo "new Ajax.InPlaceEditor('mp3title-1', '/process_mp3.php?mp3=" .$en['mp3_id']. "');\n";
}

 

etc.

 

Or you could make a big string of the Ajax code in the while loop and print it later.

 

$en['mp3_id'] is blank when echo'ing on the Ajax line at the bottom

jesirose thanks for all the help one more small fix

 

 

since the Ajax line is not being looped... the mp3title-1,2, and 3 needs to be created. I tried using the counter like I did above but that didn't work.

 

foreach($mp3IDs AS $mp3ID){
$counter = 1;
echo	"new Ajax.InPlaceEditor('mp3title-".$counter."', '/process_mp3.php?mp3=".$mp3ID."');\n";
$counter++;
}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.