RE: [PHP-DB] Can't see the results - It works now!!!
Hello guys (again) Well, just wanted to let you know that my code is working now, at the end it worked thanks to the help of Jim and Peter. The following is the resulting code just in case anyone can make use of it. Thankyou so much. $query_cat = "select concat(author.author_names,' ',author.author_surnames) as author_full_name from author, authorxcat where authorxcat.cat_code = $code and author.author_code = authorxcat.author_code"; $result_cat = mysql_query($query_cat) or die ($mysql_error()); $num_results_cat = mysql_num_rows($result_cat) or die ($mysql_error()); while($row = mysql_fetch_array($result_cat)) { $content .= $row["author_full_name"].""; } *** Wilmar Pérez Network Administrator Library System Tel: ++57(4)2105145 University of Antioquia Medellín - Colombia 2002 *** -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DB] Can't see the results
Hi guys, it's me again. Well, I did as Peter suggested and changed my code for this: $query_cat = "select author.author_names || ' ' || author.author_surnames as author_full_name from author, authorxcat where authorxcat.cat_code = $code and author.author_code = authorxcat.author_code"; $result_cat = mysql_query($query_cat) or die ($mysql_error()); $num_results_cat = mysql_num_rows($result_cat) or die ($mysql_error()); while($row = mysql_fetch_array($result_cat)) { $content .= $row["author_full_name"].""; } Well, it should give me the full name of 22 people but all I'm getting is a row of 22 zeros. I checked the database and in fact the data is there. Any idea of what I could be missing? Thanks a lot for your help *** Wilmar Pérez Network Administrator Library System Tel: ++57(4)2105145 University of Antioquia Medellín - Colombia 2002 *** -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DB] Can't see the results
Hi you are using mysql_fetch_array which returns an array indexed by field name eg $row = mysql_fetch_array($result) $row["Author"] will be 'fred bloggs' you are indexing using a number which needs mysql_fetch_row suggested simplified code is I have named the resulting field as 'author_full_name' for clarity If $code is not a number then it shold be quoted. $query_cat = "select author.author_names || ' ' || author.author_surnames AS author_full_name from author, authorxcat where authorxcat.cat_code = $code and author.author_code = authorxcat.author_code" ; $result_cat = mysql_query($query_cat) or die($mysql_error()); while($row = mysql_fetch_array($resultID)) { $content .='html code..' $content .= $row["author_full_name"] $content .='html code..' }// end while **you could also do as Jim suggested $result_cat = mysql_query($query_cat) or die($mysql_error()); while($row = mysql_fetch_row($resultID)) { $content .='html code..' $content .= $row["0"] $content .='html code..' }// end while --- Excellence in internet and open source software --- Sunmaia www.sunmaia.net tel. 0121-242-1473 --- -Original Message----- From: Wilmar Perez [mailto:[EMAIL PROTECTED]] Sent: 07 September 2002 00:38 To: [EMAIL PROTECTED] Subject: Re: [PHP-DB] Can't see the results Hello again Well I followed Jim recomendation but it didn't work either, I think I'd better send the full code to you (don't worry is very short), so you can have a broader idea of what I'm intending to do, which is actually quite a simple thing, just to retrieve results from a database according to a selection made by the user. Any help will be highly appreciated. Well here is the code: Note: If you have a look to the part where the main IF condition is false (when the $code variable doesn't exist) you'll see that I'm doing something pretty simmilar but with a different mysql query. That part works alright. So, what am I missing in the second part? (when the $code variable exists) Página principal "; //Operations $query = "select * from categories order by cat_name"; $result = mysql_query($query); $num_results = mysql_num_rows($result); if($code){ $query_cat = "select author.author_names || ' ' || author.author_surnames from author, authorxcat where authorxcat.cat_code = $code and author.author_code = authorxcat.author_code" or die($mysql_error()); $result_cat = mysql_query($query_cat) or die($mysql_error()); $num_results_cat = mysql_num_rows($result_cat) or die($mysql_error()); for ($i=0; $i < $num_results_cat; $i++) { $row = mysql_fetch_array($result_cat) or die($mysql_error()); $num_cols = count($row); //As suggested by Jim for($j=0; $j < $num_cols; $j++){ $content .= $row[$j]; } } $content .= $num_results_cat.""; } else for ($i=0; $i < $num_results; $i++) { if ($i==$num_results/2){ $content .= " "; } $row = mysql_fetch_array($result); $content .= "".htmlspecialchars(stripslashes($row ["cat_name"])).""; } $content .= ""; } //Send values $colecciones -> SetTitle("Colecciones"); $colecciones -> SetContent($content); $colecciones -> Display(); ?> * Jim wrote: Your problem seems to stem from the $content .= $row; $row is an Array and you must use an index to get at any given value it holds. If you need all of the values in $row, use the count() function to get the number of elements (columns in this case), then loop through them adding them to $cont
Re: [PHP-DB] Can't see the results
Hello again Well I followed Jim recomendation but it didn't work either, I think I'd better send the full code to you (don't worry is very short), so you can have a broader idea of what I'm intending to do, which is actually quite a simple thing, just to retrieve results from a database according to a selection made by the user. Any help will be highly appreciated. Well here is the code: Note: If you have a look to the part where the main IF condition is false (when the $code variable doesn't exist) you'll see that I'm doing something pretty simmilar but with a different mysql query. That part works alright. So, what am I missing in the second part? (when the $code variable exists) Página principal "; //Operations $query = "select * from categories order by cat_name"; $result = mysql_query($query); $num_results = mysql_num_rows($result); if($code){ $query_cat = "select author.author_names || ' ' || author.author_surnames from author, authorxcat where authorxcat.cat_code = $code and author.author_code = authorxcat.author_code" or die($mysql_error()); $result_cat = mysql_query($query_cat) or die($mysql_error()); $num_results_cat = mysql_num_rows($result_cat) or die($mysql_error()); for ($i=0; $i < $num_results_cat; $i++) { $row = mysql_fetch_array($result_cat) or die($mysql_error()); $num_cols = count($row); //As suggested by Jim for($j=0; $j < $num_cols; $j++){ $content .= $row[$j]; } } $content .= $num_results_cat.""; } else { for ($i=0; $i < $num_results; $i++) { if ($i==$num_results/2){ $content .= " "; } $row = mysql_fetch_array($result); $content .= "".htmlspecialchars(stripslashes($row ["cat_name"])).""; } $content .= ""; } //Send values $colecciones -> SetTitle("Colecciones"); $colecciones -> SetContent($content); $colecciones -> Display(); ?> * Jim wrote: Your problem seems to stem from the $content .= $row; $row is an Array and you must use an index to get at any given value it holds. If you need all of the values in $row, use the count() function to get the number of elements (columns in this case), then loop through them adding them to $content along with any separators (IE: commas or semi colons or spaces) etc. the code might look like this: $content = ""; // I like to make sure that the variable is always initialized to something before I use it. $num_results_cat = mysql_num_rows($result_cat); for ($i=0; $i < $num_results_cat; $i++) { $row = mysql_fetch_array($result); $num_of_cols = count($row); for ($x=0; $x<$num_of_cols; $x++) { $content .= ", ".$row[$x]; } } This will allow you to loop through every row in the query and add every column to the $content variable. Jim *** *** Wilmar Pérez Network Administrator Library System Tel: ++57(4)2105145 University of Antioquia Medellín - Colombia 2002 *** -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Can't see the results
Your problem seems to stem from the $content .= $row; $row is an Array and you must use an index to get at any given value it holds. If you need all of the values in $row, use the count() function to get the number of elements (columns in this case), then loop through them adding them to $content along with any separators (IE: commas or semi colons or spaces) etc. the code might look like this: $content = ""; // I like to make sure that the variable is always initialized to something before I use it. $num_results_cat = mysql_num_rows($result_cat); for ($i=0; $i < $num_results_cat; $i++) { $row = mysql_fetch_array($result); $num_of_cols = count($row); for ($x=0; $x<$num_of_cols; $x++) { $content .= ", ".$row[$x]; } } This will allow you to loop through every row in the query and add every column to the $content variable. Jim ---Original Message--- From: Wilmar Perez Date: Friday, September 06, 2002 14:50:44 To: php-db mailing list Subject: [PHP-DB] Can't see the results Hello guys Thanks to all those you helped me with y the question I made before (not a valid MySQL result) it's working now. Now, I want to display the result of my search with the following code: if($code){ $query_cat = "select author.author_names || ' '|| author.author_surnames as full_name from author, authorxcat where authorxcat.cat_code = $code and author.author_code = authorxcat.author_code" or die($mysql_error()); $result_cat = mysql_query($query_cat); $num_results_cat = mysql_num_rows($result_cat); for ($i=0; $i < $num_results_cat; $i++) { $row = mysql_fetch_array($result); $content .= $row; /* $content .= htmlspecialchars(stripslashes($row["author_names"])) ." ".htmlspecialchars(stripslashes($row ["author_surnames"]))."";*/ } } But I just get the following: ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray I also tried to do it commenting the "$content .= $row;" and uncommenting the lines that are commented in the code but I just get a blank page. What am I doing wrong? Thanks a lot for your help. *** Wilmar Pérez Network Administrator Library System Tel: ++57(4)2105145 University of Antioquia Medellín - Colombia 2002 *** -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php .