2010-03-25 4 views
0

J'ai besoin d'obtenir la valeur d'un champ; Je pense que je suis dans la bonne direction, mais je ne suis pas certain que ce soit le bon code. Le « Supprimer le film » bouton est là où je suis en train d'obtenir la valeur de cette ligne comme ceci:Comment obtenir la valeur d'un champ en PHP?

value="'.$row['id'].'" 

Pouvez-vous aider?

<?php 
//connect to database 
mysql_connect($mysql_hostname,$mysql_user,$mysql_password); 
@mysql_select_db($mysql_database) or die("<b>Unable to connect to specified database</b>"); 
//query databae 
$query = "select * from movielist"; 
$result=mysql_query($query) or die('Error, insert query failed'); 
$row=0; 
$numrows=mysql_num_rows($result); 
echo "<table border=1>"; 
echo "<tr> 
    <td>ID</td> 
    <td>Type</td> 
    <td>Title</td> 
    <td>Description</td> 
    <td>Imdb URL</td> 
    <td>Year</td> 
    <td>Genre</td> 
    <td>Actions</td> 
    </tr>"; 
while($row<$numrows) 
{ 
$id=mysql_result($result,$row,"id"); 
$type=mysql_result($result,$row,"type"); 
$title=mysql_result($result,$row,"title"); 
$description=mysql_result($result,$row,"description"); 
$imdburl=mysql_result($result,$row,"imdburl"); 
$year=mysql_result($result,$row,"year"); 
$genre=mysql_result($result,$row,"genre"); ?> 

    <tr> 
    <td><?php echo $id; ?></td> 
    <td><?php echo $type; ?></td> 
    <td><?php echo $title; ?></td> 
    <td><?php echo $description; ?></td> 
    <td><?php echo $imdburl; ?></td> 
    <td><?php echo $year; ?></td> 
    <td><?php echo $genre; ?></td> 
    <td> 


<!-- Delete Movie Button --> 
<form style="display: inline;" action="delete/" method="post" onsubmit="return movie_delete()"> 

<input type="hidden" name="moviedeleteid" value="'.$row['id'].'"> 

<button type="submit" class="tooltip table-button ui-state-default ui-corner-all" title="Delete trunk"><span class="ui-icon ui-icon-trash"></span></button> 
</form> 


    </td> 
    </tr> 
<?php 

$row++; 
} 
echo "</table>"; 
?> 

Répondre

0

Essayez d'utiliser une balise d'écho en ligne:

<?=$id;?> 

Ce style est un raccourci désactivée par défaut, donc si cela ne fonctionne pas, utilisez ceci:

<?php echo $id; ?> 
0

Vous avez déjà extrait $ id, utilisez-le directement.

<input type="hidden" name="moviedeleteid" value="<?php echo $id>"> 

Vous ne pouvez pas utiliser le code PHP entre les balises HTML sans d'abord spécifier le début d'un nouveau morceau de code PHP avec l'étiquette.

$ row est juste un nombre entier, mais vous essayez de l'utiliser comme un tableau. Vous n'avez pas affecté le contenu d'une ligne à $ row, mais seulement le numéro de ligne actuel.

Vous pouvez également

while ($row = mysql_fetch_assoc($result) 
{ 
    echo $row['id']; 
} 
0

Uhm ... Je veux changer cela un peu ...

<?php 
//connect to database 
mysql_connect($mysql_hostname,$mysql_user,$mysql_password); 
@mysql_select_db($mysql_database) or die("<b>Unable to connect to specified database</b>"); 
//query databae 
$query = "select * from movielist"; 
$result = mysql_query($query) or die('Error, insert query failed'); 
$row=0; // ??? 
$numrows=mysql_num_rows($result); 
echo "<table border=1>"; 
echo "<tr> 
    <td>ID</td> 
    <td>Type</td> 
    <td>Title</td> 
    <td>Description</td> 
    <td>Imdb URL</td> 
    <td>Year</td> 
    <td>Genre</td> 
    <td>Actions</td> 
    </tr>"; 
while($row = mysql_fetch_assoc($result)) 
{ 
    $id = $row["id"]; 
    //... and so on ?> 

    <tr> 
    <td><?= $id; ?></td> 
    <!-- and so on --> 
    <td> 


<!-- Delete Movie Button --> 
<form style="display: inline;" action="delete/" method="post" onsubmit="return movie_delete()"> 

<input type="hidden" name="moviedeleteid" value="<?= $id ?>"> 

<button type="submit" class="tooltip table-button ui-state-default ui-corner-all" title="Delete trunk"><span class="ui-icon ui-icon-trash"></span></button> 
</form> 


    </td> 
    </tr> 
<?php 

$row++; 
} 
echo "</table>"; 
?> 

Je changé:

  1. la façon dont vous itérer sur les lignes while()
  2. la façon dont vous obtenez les valeurs de champ en utilisant associa tableaux tifs
  3. la façon dont vous insérez l'identifiant dans le rendu HTML en utilisant la balise de valeur PHP
1

Vous utilisez comme

<input type="hidden" name="moviedeleteid" value="'.$row['id'].'"> 

mais la question est ici: comment PHP savoir que vous font référence à une variable au lieu du HTML pur? PHP vous fournit un outil très pratique pour rendre explicite que vous voulez exécuter du code PHP en HTML (en réalité pur code PHP n'existe pas car tout fichier .php peut aussi contenir du HTML): les balises <?php et ?>.

Je suis sûr que vous savez de quoi je parle parce que vous les avez déjà utilisés correctement. Par conséquent, il suffit de changer la ligne ci-dessus:

<input type="hidden" name="moviedeleteid" value="<?php echo $row['id']; ?>"> 
//            ^^^^^ ^^^^   ^^^ 

Ce que vous utilisiez était concaténation de chaîne qui fonctionne exactement comme ça (avec . pour concaténer des chaînes), mais dans votre cas a été mis dans un contexte HTML.

Questions connexes