Gå til innhold

Identifisere verdier fra en tabell


Anbefalte innlegg

Skrevet

Hei,

 

Jeg har en HTML-form som skal sende noen verdier til samme skjemaet..

Verdiene er tekst 4 steder på en side, så derfor er det også 4 inputs, en til hver rad i tabellen min...

 

Jeg tar så å setter value til det som allerede ligger i "tekst"-kolonnen på den og den raden.. Men når jeg skal submit'e må jeg jo få sendt inn en ID , for at skjemaet skal skjønne hvor jeg vil oppdatere..

 

Vanskelig å forklare, men se selv på koden min:

 

<?PHP
$submit = $_POST['submit'];
$db = mysql_connect("localhost", "root", "");
mysql_select_db("tekst", $db);
$result = mysql_query("SELECT * FROM eventmanagers WHERE id='1'");
$result2 = mysql_query("SELECT * FROM eventmanagers WHERE id='2'");
$result3 = mysql_query("SELECT * FROM eventmanagers WHERE id='3'");
$result4 = mysql_query("SELECT * FROM eventmanagers WHERE id='4'");





if(isset($submit)){
 $id = $_POST['id'];
 $tekst = $_POST['tekst'];
 $db = mysql_connect("localhost", "root", "");
 mysql_select_db("tekst", $db);
 mysql_query("UPDATE eventmanagers SET tekst='$tekst' WHERE id='$id'");
 $myrow = mysql_fetch_array($result);
 $myrow2 = mysql_fetch_array($result2);
 $myrow3 = mysql_fetch_array($result3);
 $myrow4 = mysql_fetch_array($result4);
 ?>
 	<form method="post" action="<?php echo $PHP_SELF; ?>?events=1">
   <input type="text" name="tekst" value="<?php echo $myrow["tekst"]; ?>"><br>
   <input type="text" name="tekst" value="<?php echo $myrow2["tekst"]; ?>"><br>
   <input type="text" name="tekst" value="<?php echo $myrow3["tekst"]; ?>"><br>
   <input type="text" name="tekst" value="<?php echo $myrow4["tekst"]; ?>"><br>
   <input type="submit" name="submit" value="Send">
 	</form>
 <?php
}
else {
 $myrow = mysql_fetch_array($result);
 $myrow2 = mysql_fetch_array($result2);
 $myrow3 = mysql_fetch_array($result3);
 $myrow4 = mysql_fetch_array($result4);
 	?>
 	<form method="post" action="<?php echo $PHP_SELF; ?>?events=1">
   <input type="text" name="tekst" value="<?php echo $myrow["tekst"]; ?>"><br>
   <input type="text" name="tekst" value="<?php echo $myrow2["tekst"]; ?>"><br>
   <input type="text" name="tekst" value="<?php echo $myrow3["tekst"]; ?>"><br>
   <input type="text" name="tekst" value="<?php echo $myrow4["tekst"]; ?>"><br>
   <input type="submit" name="submit" value="Send">
 	</form>
 	<?php
}
 
?>

 

tror forresten ikke jeg trenger 4 $result og $myrow, men det går på det samme..

 

Håper noen skjønner det her, eller så skal jeg prøve å forklare bedre..

Videoannonse
Annonse
Skrevet

Kan jeg forbinde de med de andre input feltene da?

 

Hele greia er jo at hvis man endrer et felt så skal det endres på riktig rad i tabellen..

Skrevet

Er det virkelig ingen som skjønner?

 

Jeg vil identifisere hver input i en form så jeg kan kjøre spørringen:

 

UPDATE xxx SET xxx='xxx' WHERE id='$id';

 

For å kunne gjøre det må jo scriptet vite hvilket av feltene som er oppdatert..

 

Det letteste blir kanskje å lage 4 stk form's da eller?

Skrevet

Vist id'en altid vil være 1,2,3 og 4 er det jo ingen problem. Vist den forandrer seg så kan du legge til id'en til kvar i ein hidden input form.

 

Men vist du bruker ein hidden input form husk at verdien på dei kan forandres veldeg lett med ein liten javascript snutt. Så husk å sjekk at du virkeleg mottar ein nummer fra bruker siden.

Skrevet

Ja, men input'en med verdien som skal sendes kan jo ikke være hidden?

Da må jeg jo ha en hidden input til hver input som sender en verdi?

 

Hvordan kan jeg da forbinde hidden-input'en med verdi-input'en?

Skrevet

Eh...

Det er jo soneklar logikk...

 

Du gjer dei navn alt etter kva for ein av "verdi-inputene" dei høyrer til, deretter kaller du dei bare opp når du prosesserer verdiene med php.

 

Så lenge det er du som lager skriptet kan eg ikkje se noko problemer med å gjøre det slik, uten om faren for at nokon kan prøve å bruke sql-injection på det. (Derfor bør du sjekke at dei skjulte inputene innehelde det dei skal)

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...