Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 6 of 6
  1. #1
    New Coder
    Join Date
    Dec 2003
    Location
    texas
    Posts
    96
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Display everything in a database.

    I have a database, that has 1 table in it. Inside this table it has 10 columns. Well there could be one thing in 1 column, but there are multiple rows. Is there a way that I could make it display everything that is inside the rows. I have included a small piece of my code if that helps?

    Code:
     <table width="100%" border="1">
                  <tr>
                    <td width="9.2%"><? echo $obj[1] ?></td>
                    <td width="9.2%"><? echo $obj[2] ?></td>
                    <td width="9.2%"><? echo $obj[3] ?></td>
                    <td width="9.2%"><? echo $obj[4] ?></td>
                    <td width="9.2%"><? echo $obj[5] ?></td>
                    <td width="9.2%"><? echo $obj[6] ?></td>
                    <td width="9.2%"><? echo $obj[7] ?></td>
                    <td width="9.2%"><? echo $obj[8] ?></td>
                    <td width="9.2%"><? echo $obj[9] ?></td>
                  </tr>
                </table>
    Currently it displays only the first thing that is inside the database. Would it be easier to write it to count the number of rows and then subtract the number of rows, with a loop?
    thanks
    bri

  • #2
    New Coder
    Join Date
    May 2006
    Posts
    18
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Umm...you might want to fix the fact that you forgot ; in every single php line. That's not good.

  • #3
    New Coder
    Join Date
    Dec 2003
    Location
    texas
    Posts
    96
    Thanks
    1
    Thanked 0 Times in 0 Posts
    I took care of that and cleaned up my code to look like this
    Code:
    <?
    	while ($count >0)
    {
    
     	echo "<table width='100%' border='1'>";
           echo "<tr>";
                    echo "<td width='9.2%'>";  echo $obj[1]  "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[2] ?>;echo "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[3] ?>;echo "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[4] ?>;echo "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[5] ?>;echo "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[6] ?>;echo "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[7] ?>;echo "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[8] ?>;echo "</td>";
                    echo "<td width='9.2%'>";<? echo $obj[9] ?>;echo "</td>";
                  echo "</tr>";
                echo "</table>";
    
    $count - 1;
    }
    and I get this error
    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING

    on line 86
    line 86 is the first td statement. I am not sure what is wrong with this...if I make it look like the others then another error appears.
    thanks
    bri

  • #4
    Regular Coder
    Join Date
    Apr 2004
    Posts
    298
    Thanks
    0
    Thanked 23 Times in 23 Posts
    Sorry too tired to read your code; however, this should do the trick...
    PHP Code:
    <?php
    session_start
    ();
    header("Cache-control: private");  // IE 6 Fix.
    session_unset(); 

    #################################################################
    #     this small script can be used to 
    #
    #        get and display a database table's structure (field names and field type)
    #        get and display the field contents in an html table
    #
    #

    ##################################
    #    set the database variables

    $database="";
    $location "localhost";  
    $username "";  
    $password "";  
    $db_table "";

    ######################################
    #    set the function switches
    #    0 means use 
    #    1 means do NOT use

    $display_table_structure 0;
    $display_table_contents 0;
    $create_csv_file 0// use this to create a csv file from the data
    $create_excel_file 0// use this to create an excel file from the table
    $csv_name $db_table "_" time();
    $how_many 0// use this value to limit the number of records returned in the data query (0 means no limit)
     
    ######################################
    #    define the function(s)

    // This function gets the field names
    function my_db_get_table_field_names($table) {
        
    $sql "SHOW COLUMNS FROM `$table`";
        
    $field_names = array();
        
    $result2 mysql_query($sql);
        for(
    $i=0;$i<mysql_num_rows($result2);$i++){
            
    $row mysql_fetch_array($result2);
            
    $name $row['Field'];
            
    array_push($field_names$name);
        }
        return 
    $field_names;
    }



    ############################################
    # connect to the database

    mysql_connect ($location$username$password); 
    @
    mysql_select_db($database) or die( "Unable to select database"); 
    $result0 mysql_query("SHOW COLUMNS FROM $db_table");

    if (!
    $result0) {
      echo 
    'Could not run query: ' mysql_error();
      exit;
    }


    ####################################################
    #    get the field names into an array and count them

    $new_array my_db_get_table_field_names($db_table);
    $fields count($new_array);

    ###################################################
    #    get all the data and count the records

    if ($how_many == 0) {
        
    $result mysql_query"SELECT * FROM $db_table" 
        or die(
    "SELECT Error: ".mysql_error()); 
        
    $num_rows mysql_num_rows($result); 
    }else{
        
    $result mysql_query"SELECT * FROM $db_table LIMIT $how_many" 
        or die(
    "SELECT Error: ".mysql_error()); 
        
    $num_rows mysql_num_rows($result); 
    }

    ##############################################################
    #    display the general information

    echo "This information is for the " $database " database. Table " $db_table "<br><br>";
    echo 
    "There are " $fields " columns/fields  and " $num_rows " records.<br><br>";

    ###########################################################
    #    display the table structure

    if ($display_table_structure == 0) {
            echo 
    "<hr>Table structure for " $db_table ": <br><br>";
            echo 
    "<table border=1> <tr><td>Field #</td><td>Field Name</td><td>Field Type</td></tr>";
        
    $result9 mysql_query("SHOW FIELDS FROM $database.$db_table");
        
    $i 0;
        while (
    $row mysql_fetch_array($result9)){
            echo 
    "<tr><td>" $i "</td><td>" $row['Field'] . "</td><td>" $row['Type'] . "</td></tr>";
        
    $i $i +1;
        } 
            echo 
    "</table>";
    }

    ##############################################################
    #    display the table contents

    if ($display_table_contents == 0) {
        echo 
    "<hr>Table data for " $db_table ": <br><br>";
        print 
    "<table width='100%' border=1>\n"
        
    $i 0;
        print 
    "<tr>\n"
        for (
    $i=0;$i<$fields;$i++) {
          print 
    "\t<td><font face=arial size=1/>$new_array[$i]</font></td>\n";
        }
        while (
    $get_info mysql_fetch_row($result)){ 
            print 
    "<tr>\n"
            foreach (
    $get_info as $field
                print 
    "\t<td><font face=arial size=1/>$field</font></td>\n"
                print 
    "</tr>\n"
        } 
        print 
    "</table>\n"
    }

    ?>

    Lite...

    FYI

    This little ditty will take that table and create an excel file for you
    PHP Code:
    <?php 

    //EDIT YOUR MySQL Connection Info: 
    $DB_Server "localhost"//your MySQL Server 
    $DB_Username ""//your MySQL User Name 
    $DB_Password ""//your MySQL Password 
    $DB_DBName ""//your MySQL Database Name 
    $DB_TBLName ""//your MySQL Table Name 
    //$DB_TBLName, $DB_DBName, may also be commented out & passed to the browser 
    //as parameters in a query string, so that this code may be easily reused for 
    //any MySQL table or any MySQL database on your server 

    //DEFINE SQL QUERY: 
    //you can use just about ANY kind of select statement you want - 
    //edit this to suit your needs! 
    $sql "Select * from $DB_TBLName"

    //Optional: print out title to top of Excel or Word file with Timestamp 
    //for when file was generated: 
    //set $Use_Titel = 1 to generate title, 0 not to use title 
    $Use_Title 1
    //define date for title: EDIT this to create the time-format you need 
    $now_date date('m-d-Y H:i'); 
    //define title for .doc or .xls file: EDIT this if you want 
    $title "Dump For Table $DB_TBLName from Database $DB_DBName on $now_date"
    /* 

    Leave the connection info below as it is: 
    just edit the above. 

    (Editing of code past this point recommended only for advanced users.) 
    */ 
    //create MySQL connection 
    $Connect = @mysql_connect($DB_Server$DB_Username$DB_Password
    or die(
    "Couldn't connect to MySQL:<br>" mysql_error() . "<br>" mysql_errno()); 
    //select database 
    $Db = @mysql_select_db($DB_DBName$Connect
    or die(
    "Couldn't select database:<br>" mysql_error(). "<br>" mysql_errno()); 
    //execute query 
    $result = @mysql_query($sql,$Connect
    or die(
    "Couldn't execute query:<br>" mysql_error(). "<br>" mysql_errno()); 

    //if this parameter is included ($w=1), file returned will be in word format ('.doc') 
    //if parameter is not included, file returned will be in excel format ('.xls') 
    if (isset($w) && ($w==1)) 

    $file_type "msword"
    $file_ending "doc"
    }else { 
    $file_type "vnd.ms-excel"
    $file_ending "xls"

    //header info for browser: determines file type ('.doc' or '.xls') 
    header("Content-Type: application/$file_type"); 
    header("Content-Disposition: attachment; filename=database_dump.$file_ending"); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 

    /* Start of Formatting for Word or Excel */ 

    if (isset($w) && ($w==1)) //check for $w again 

    /* FORMATTING FOR WORD DOCUMENTS ('.doc') */ 
    //create title with timestamp: 
    if ($Use_Title == 1

    echo(
    "$title\n\n"); 

    //define separator (defines columns in excel & tabs in word) 
    $sep "\n"//new line character 

    while($row mysql_fetch_row($result)) 

    //set_time_limit(60); // HaRa 
    $schema_insert ""
    for(
    $j=0$j<mysql_num_fields($result);$j++) 

    //define field names 
    $field_name mysql_field_name($result,$j); 
    //will show name of fields 
    $schema_insert .= "$field_name:\t"
    if(!isset(
    $row[$j])) { 
    $schema_insert .= "NULL".$sep

    elseif (
    $row[$j] != "") { 
    $schema_insert .= "$row[$j]".$sep

    else { 
    $schema_insert .= "".$sep


    $schema_insert str_replace($sep."$"""$schema_insert); 
    $schema_insert .= "\t"
    print(
    trim($schema_insert)); 
    //end of each mysql row 
    //creates line to separate data from each MySQL table row 
    print "\n----------------------------------------------------\n"

    }else{ 
    /* FORMATTING FOR EXCEL DOCUMENTS ('.xls') */ 
    //create title with timestamp: 
    if ($Use_Title == 1

    echo(
    "$title\n"); 

    //define separator (defines columns in excel & tabs in word) 
    $sep "\t"//tabbed character 

    //start of printing column names as names of MySQL fields 
    for ($i 0$i mysql_num_fields($result); $i++) 

    echo 
    mysql_field_name($result,$i) . "\t"

    print(
    "\n"); 
    //end of printing column names 

    //start while loop to get data 
    while($row mysql_fetch_row($result)) 

    //set_time_limit(60); // HaRa 
    $schema_insert ""
    for(
    $j=0$j<mysql_num_fields($result);$j++) 

    if(!isset(
    $row[$j])) 
    $schema_insert .= "NULL".$sep
    elseif (
    $row[$j] != ""
    $schema_insert .= "$row[$j]".$sep
    else 
    $schema_insert .= "".$sep

    $schema_insert str_replace($sep."$"""$schema_insert); 
    //following fix suggested by Josue (thanks, Josue!) 
    //this corrects output in excel when table fields contain \n or \r 
    //these two characters are now replaced with a space 
    $schema_insert preg_replace("/\r\n|\n\r|\n|\r/"" "$schema_insert); 
    $schema_insert .= "\t"
    print(
    trim($schema_insert)); 
    print 
    "\n"



    ?>
    Last edited by litebearer; 06-10-2006 at 12:12 AM.

  • #5
    Regular Coder mic2100's Avatar
    Join Date
    Feb 2006
    Location
    Scunthorpe
    Posts
    562
    Thanks
    15
    Thanked 28 Times in 27 Posts
    Code:
     <table width="100%" border="1">
                  <tr>
                    <td width="9.2%"><? echo $obj[1]; ?></td>
                    <td width="9.2%"><? echo $obj[2]; ?></td>
                    <td width="9.2%"><? echo $obj[3]; ?></td>
                    <td width="9.2%"><? echo $obj[4]; ?></td>
                    <td width="9.2%"><? echo $obj[5]; ?></td>
                    <td width="9.2%"><? echo $obj[6]; ?></td>
                    <td width="9.2%"><? echo $obj[7]; ?></td>
                    <td width="9.2%"><? echo $obj[8]; ?></td>
                    <td width="9.2%"><? echo $obj[9]; ?></td>
                  </tr>
                </table>
    do u have a record set that u use to get info outta teh database??? where the $obj[?] is defined

  • #6
    Regular Coder
    Join Date
    Sep 2005
    Posts
    394
    Thanks
    1
    Thanked 0 Times in 0 Posts
    Umm...you might want to fix the fact that you forgot ; in every single php line. That's not good.
    It's always a good idea to try code before ridiculing it. You do not need a ; after the last statment in your php before the ?>

    e.g.

    <?php
    echo 'hi';
    echo 'bye';
    echo 'see ya!'
    ?>
    Would work absolutely fine.

    ~Phil~


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •