www.webdeveloper.com
Results 1 to 6 of 6

Thread: Exercises won't work

  1. #1
    Join Date
    May 2007
    Location
    London, United Kingdom
    Posts
    430

    Exercises won't work

    *sigh* Its been one of "those" evenings of studying where nothing makes sense and nothing works...

    Admin Page
    PHP Code:
    <?php

    require_once('dbc.php');
    require_once(
    'apps.php');

    $dbc mysqli_connect(DB_HOSTDB_USERDB_PASSWORD) or die('Problem Connecting' mysqli_connect_error());
        
    mysqli_select_db($dbcDB_NAME);
        
    $query "SELECT * FROM guitarwars ORDER BY score DESC, date ASC";
    $data mysqli_query($dbc$query) or die('Problem Querying' mysqli_connect_error());;

    echo 
    '<table cellpadding="5">';
    while(
    $row mysqli_fetch_array($data))
        {    echo 
    '<tr><td><strong>' $row['name'] . '</strong></td>';
            echo 
    '<td>' $row['date'] . '</td>';
            echo 
    '<td>' $row['score'] . '</td>';
            echo 
    '<td><a href="removescore.php?id='.$row['id'].'&amp;date='.$row['date'].'&amp;name='.$row['name'].'&amp;score='.$row['score'].'&amp;screenshot='.$row['screenshot'].'">Remove</a></td></tr>';    
        }
    echo 
    '</table>';

    mysqli_close($dbc);

    ?>
    Remove Score Script:
    PHP Code:
    <?php
      
    require_once('dbc.php');
    require_once(
    'apps.php');

        if(isset(
    $_GET['id']) && isset($_GET['date']) && isset($_GET['name']) && isset($_GET['score']) && isset($_GET['screenshot']))
        {    
    //grab score data
            
    $id $_GET['id'];
            
    $date $_GET['date'];
            
    $name $_GET['name'];
            
    $score $_GET['score'];
            
    $screenshot $_GET['screenshot'];
        }
        elseif(isset(
    $_POST['id']) && isset($_POST['name']) && isset($_POST['score']))
        {    
    //grab the post data
            
    $id $_POST['id'];
            
    $name $_POST['name'];
            
    $score $_POST['score'];
        }
        else {    echo 
    '<p class="error">Sorry, no score was specified for removal.</p>'; }

        if(isset(
    $_POST['submit']))
        {    if(
    $_POST['confirm'] == 'Yes')
            {    
    //delete the screenshot image from file
                
    @unlink(GW_UPLOADPATH $screenshot);
                
                
    //connect to database
                
    $dbc mysqli_connect(DB_HOSTDB_USERDB_PASSWORD) or die('Problem Connecting' mysqli_connect_error());
                
    mysqli_select_db($dbcDB_NAME);
                
                
    //delete score data from db
                
    $query "DELETE FROM guitarwars WHERE id = $id LIMIT = 1";
                
                
    mysqli_query($dbc$query);
                
    mysqli_close($dbc);
                
                
    //confirmation
                
    echo '<p>The high score of ' .$score ' for ' $name ' was succesfully deleted.</p>';
            }
            else {    echo 
    '<p class="error">The high score was not removed.</p>'; }
        }
        
        elseif(isset(
    $id) && isset($name) && isset($date) && isset($score))
        {
            echo 
    '<p>Are you sure that you want to delete the following score?</p>';
            echo 
    '<p><strong>Name: </strong>' $name '<br /><strong>Date: </strong>' $date '<br /><strong>Score: </strong>' $score '</p>';
            echo 
    '<form method="post" action="removescore.php">';
            echo 
    '<input type="radio" name="confirm" value="Yes" /> Yes ';
            echo 
    '<input type="radio" name="confirm" value="No" checked="checked" /> No <br />';
            echo 
    '<input type="submit" value="Submit" name="submit" />';
            
            echo 
    '<input type="hidden" name="id" value="' $id '" />';
            echo 
    '<input type="hidden" name="name" value="' $name '" />';
            echo 
    '<input type="hidden" name="score" value="' $score '" />';
            echo 
    '</form>';
        }
        
        echo 
    '<p><a href="admin.php">&lt;&lt; Back to Admin Page</a></p>';
        

    ?>
    It all runs and works all dandy, except, even though confirmation that a row was removed, it wasn't. Coz when you click the admin page link. The score is still there...

  2. #2
    Join Date
    Jan 2007
    Location
    Wisconsin
    Posts
    2,120
    On just about every data-modification call, you should probably run a few checks to ensure that the data was changed, rather than performing the query and assuming it worked:

    PHP Code:
    mysqli_query($dbc$query); 
    ... should be ...

    PHP Code:
    if (mysqli_query($dbc$query)) {
      
    // query ran ... did we alter any rows?
      
    if (mysqli_affected_rows() > 0) {
         
    // mission complete.

         // DEBUG:
         
    print "<p>mission complete.</p>\n";
      } else {
        
    // even etter-er failure.

        // DEBUG:
        
    print "<p>no rows affected ... ohnoz!</p>";
      }
    } else {
      
    // utter failure.

      // DEBUG:
      
    print "<p>MySQL error: " mysqli_error() . "</p>\n";

    Or something like that ... So, can you get some checking in there and let us know whether you're getting "mission complete" or MySQL error's, etc.?
    Jon Wire

    thepointless.com | rounded corner generator

    I agree with Apple. Flash is just terrible.

    Use CODE tags!

  3. #3
    Join Date
    May 2007
    Location
    London, United Kingdom
    Posts
    430

    Doesn't work

    PHP Code:
    //connect to database
            
    $dbc mysqli_connect(DB_HOSTDB_USERDB_PASSWORDDB_NAME) or die('Problem Connecting' mysqli_connect_error());
            
    $query "DELETE FROM guitarwars WHERE id = $id LIMIT 1";
            
            if(
    mysqli_query($dbc$query))
                {    if(
    mysqli_affected_rows() > 0)
                    {
                        print 
    '<p>Mission Complete</p>';
                    }
                    else { print 
    '<p>No rows Affected</p>'; }
                }
            
    mysqli_close($dbc);
            
    //confirmation
            
    echo '<p>High score of '$score .' belonging to '$name .' was removed successfully.</p>'
    I got the script working... (Still not sure how and why it's written the way it is. Guess I will be sitting stuck on this chapter until I figure it out) But when I add mysqli_affected_rows(), it always prints No rows affected, even though rows from the DB are being removed...

  4. #4
    Join Date
    Nov 2008
    Posts
    2,477
    You need to pass the link identifier into the mysqli_affected_rows function.

  5. #5
    Join Date
    May 2007
    Location
    London, United Kingdom
    Posts
    430

    silly question

    Quote Originally Posted by Mindzai View Post
    You need to pass the link identifier into the mysqli_affected_rows function.
    Link identifier?

  6. #6
    Join Date
    Oct 2009
    Posts
    86
    Take a look at the second example here

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.40417 seconds
  • Memory Usage 2,941KB
  • Queries Executed 15 (?)
More Information
Template Usage (34):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (5)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (6)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates