2017-10-17 17 views
-1

Ok donc je fais un peu de travail en php et sql. Ce code php ne fonctionnera pas, j'ai besoin de savoir quoi faire avec cette boucle else else.'else' (T_ELSE) dans votre code sur la ligne 21

Je reçois cette erreur: Parse error: syntax error, unexpected 'autre' (T_ELSE) dans "mon filepath" sur la ligne 21

<?php 
$debug = true; 

# Shows the records in prints 
function show_records($dbc) { 
    # Create a query to get the name and price sorted by price 
    $query = 'SELECT num, fname, lname FROM presidents ORDER BY num DESC' ; 

    # Execute the query 
    $results = mysqli_query($dbc , $query) ; 
    check_results($results) ; 
} 

function valid_number($dbc, $num, $fname, $lname){ 

    if(!valid_number($num)) { 
    echo "<p>Please give a valid number.</p>"; } 
    else { 
     if (!valid_name($fname)) 
    echo "<p>Please complete the first name.</p>"; } 
    else{ 
     if (!valid_name($lname)){ 
    echo "<p>Please complete the last name.</p>"; }} 
    else { 
    insert_record($dbc,$num,$fname,$lname) ; } 
    function valid_number($num){ 
    { if(empty($num) || !is_numeric($num)) } 
    return false ; } 
    else { 
     $num = intval($num) ;  
     if($num <= 0){ 
     return false ;} 
    } 
    return true; } 


function valid_name($fname, $lname){ 
     if(!empty($fname) && !empty($lname)) { 
     return false; 
    } 
    else 
     return true; 
} 



    # Show results 
if($results) 
    { 
     # But...wait until we know the query succeeded before 
     # starting the table. 
     echo '<H1>Presidents</H1>' ; 
     echo '<TABLE border="1\"">'; 
     echo '<TR>'; 
     echo '<TH>Number</TH>'; 
     echo '<TH>First Name</TH>'; 
     echo '<TH>Last Name</TH>'; 
     echo '</TR>'; 

    # For each row result, generate a table row 
     while ($row = mysqli_fetch_array($results , MYSQLI_ASSOC)) 
    { 
     echo '<TR>' ; 
     echo '<TD>' . $row['num'] . '</TD>' ; 
     echo '<TD>' . $row['fname'] . '</TD>' ; 
     echo '<TD>' . $row['lname'] . '</TD>' ; 
     echo '</TR>' ; 
    } 

    # End the table 
    echo '</TABLE>'; 

    # Free up the results in memory 
    mysqli_free_result($results) ; 
} 


# Inserts a record into the prints table 
function insert_record($dbc, $num, $fname, $lname) { 
    $query = 'INSERT INTO presidents(num, fname, lname) VALUES (' . $num . ' , "' . $fname . '", "' . $lname . '")' ; 
    show_query($query); 

    $results = mysqli_query($dbc,$query) ; 
    check_results($results) ; 

    return $results ; 
} 

# Shows the query as a debugging aid 
function show_query($query) { 
    global $debug; 

    if($debug) 
    echo "<p>Query = $query</p>" ; 
} 

# Checks the query results as a debugging aid 
function check_results($results) { 
    global $dbc; 

    if($results != true) 
    echo '<p>SQL ERROR = ' . mysqli_error($dbc) . '</p>' ; 
} 
?> 

ok il dit mon post est le code pour la plupart donc voici quelques-uns remplisseur. lorem ipsum dolor sit amet s'il vous plaît ignorer ce que j'ai juste besoin d'une réponse c'est remplissage uh uhhhhh ouais

+0

'if (! Valid_name (fname $))' ne pas ouvrir un nouveau bloc. C'est à dire. il n'y a pas de '{'. Mais vous essayez de le fermer dans la ligne suivante. Cela ferme le bloc else avant et provoque l'erreur. – jh1711

+1

s'il vous plaît indent votre code. Où est votre ligne 21? Vérifiez votre si sur cette ligne, je pense qu'il vous manque un '{' – sheplu

+0

@ jh1711 Cela fonctionne en effet, merci. Il semble que je reçois aussi une erreur où la variable de résultats est indéfinie, des idées? – jwsqljava

Répondre

0

Ici, méfiez-vous ceci n'est pas testé mais j'ai peut-être résolu le problème. Vous devriez essayer d'utiliser elseif() {} et regarder où vos crochets d'ouverture et de fermeture sont

<?php 
$debug = true; 

# Shows the records in prints 
function show_records($dbc) { 
    # Create a query to get the name and price sorted by price 
    $query = 'SELECT num, fname, lname FROM presidents ORDER BY num DESC' ; 

    # Execute the query 
    $results = mysqli_query($dbc , $query) ; 
    check_results($results) ; 
} 

function valid_number($dbc, $num, $fname, $lname){ 

    if(!valid_number($num)) { 
     echo "<p>Please give a valid number.</p>"; } 
    elseif(!valid_name($fname)) { 

     echo "<p>Please complete the first name.</p>"; } 
    elseif (!valid_name($lname)){ 
     { 
      echo "<p>Please complete the last name.</p>"; }} 
    else { 
     insert_record($dbc,$num,$fname,$lname) ; } 


    function valid_number($num){ 
     if(empty($num) || !is_numeric($num)){ 
     return false ; } 
    else { 
     $num = intval($num) ; 
     if($num <= 0){ 
      return false ;} 
    } 
    return true; 
    }