Gå til innhold

Feil i script, prøver å lære


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+142
mysql_real_escape_string? finner ikke noen steder.

 

autoincrement ? aner ikke.

9329881[/snapback]

mysql_real_escape_string(): Se over koden jeg gav deg.

 

auto_increment: Sjekk tabell-info i databasen, og sjekk om feltet `id` har Option "AUTO_INCREMENT" og om det er PRIMARY KEY ;)

Lenke til kommentar

vet ikke om dette ble bare rot eller om du skjønner noe. finner ikke AUTO_INCREMENT.

 

 

Felt Type Sammenligning Attributter Null Standard Ekstra Handling

id tinyint(4) Nei 0 Se gjennom distinkte verdier Endre Slett Primær Unik Indeks Fulltekst

first varchar(20) latin1_swedish_ci Ja NULL Se gjennom distinkte verdier Endre Slett Primær Unik Indeks Fulltekst

last varchar(20) latin1_swedish_ci Ja NULL Se gjennom distinkte verdier Endre Slett Primær Unik Indeks Fulltekst

address varchar(255) latin1_swedish_ci Ja NULL Se gjennom distinkte verdier Endre Slett Primær Unik Indeks Fulltekst

position varchar(50) latin1_swedish_ci Ja NULL Se gjennom distinkte verdier Endre Slett Primær Unik Indeks Fulltekst

Med avkrysset: Merk alle / Fjern merking Med avkrysset: Se på Endre Slett Primær Unik Indeks Fulltekst

Utskriftsvennlig forhåndsvisningUtskriftsvennlig forhåndsvisning RelasjonsvisningRelasjonsvisning Foreslå tabellstrukturForeslå tabellstrukturDokumentasjon

Legg til feltLegg til felt(er)Ved slutten av tabellen Ved begynnelsen av tabellen Etter

Indekser: Dokumentasjon Nøkkel Type Kardinalitet Handling Felt

PRIMARY PRIMARY 5 Endre Slett id

id UNIQUE 5 Endre Slett id

Både PRIMARY og INDEX nøkler bør ikke settes for kolonne `id`

Endret av stclem
Lenke til kommentar

Gikk videre til side 6 i tutorialen, og da funker det uten de endringene jeg fikk av dere. Bare endring på ID i database...

 

<html>
<body>
<?php
$db = mysql_connect("host", "bruker", "pass");
mysql_select_db("database",$db);
if ($submit) {

 // here if no ID then adding else we're editing
 if ($id) {
   $sql = "UPDATE employees SET first='$first',last='$last',address='$address',position='$position' WHERE id=$id";
 } else {
   $sql = "INSERT INTO employees (first,last,address,position) VALUES ('$first','$last','$address','$position')";
 }

 // run SQL against the DB
 $result = mysql_query($sql);
 echo "Record updated/edited!<p>";
} elseif ($delete) {

// delete a record
   $sql = "DELETE FROM employees WHERE id=$id";	
   $result = mysql_query($sql);
   echo "$sql Record deleted!<p>";
} else {

 // this part happens if we don't press submit
 if (!$id) {

   // print the list if there is not editing
   $result = mysql_query("SELECT * FROM employees",$db);
   while ($myrow = mysql_fetch_array($result)) {
     printf("<a href=\"%s?id=%s\">%s %s</a> \n", $PHP_SELF, $myrow["id"], $myrow["first"], $myrow["last"]);
  printf("<a href=\"%s?id=%s&delete=yes\">(DELETE)</a><br>", $PHP_SELF, $myrow["id"]);
   }
 }

 ?>
 <P>
 <a href="<?php echo $PHP_SELF?>">ADD A RECORD</a>
 <P>
 <form method="post" action="<?php echo $PHP_SELF?>">
 <?php
 if ($id) {

   // editing so select a record
   $sql = "SELECT * FROM employees WHERE id=$id";
   $result = mysql_query($sql);
   $myrow = mysql_fetch_array($result);
   $id = $myrow["id"];
   $first = $myrow["first"];
   $last = $myrow["last"];
   $address = $myrow["address"];
   $position = $myrow["position"];

   // print the id for editing
   ?>
   <input type=hidden name="id" value="<?php echo $id ?>">
   <?php
 }
 ?>
 First name:<input type="Text" name="first" value="<?php echo $first ?>"><br>
 Last name:<input type="Text" name="last" value="<?php echo $last ?>"><br>
 Address:<input type="Text" name="address" value="<?php echo $address ?>"><br>
 Position:<input type="Text" name="position" value="<?php echo $position ?>"><br>
 <input type="Submit" name="submit" value="Enter information">
 </form>
<?php
}
?>
</body>
</html>

Lenke til kommentar

Jeg tror, men vet ikke, at det er noe feil rundt add record et sted. Får opp liste over alle ansatte med delete bak. trykker jeg på en av de ansatte så kan jeg redigere dem.

 

Under listen over de ansatte er det en link som heter add record. Denne linker bare til samme side som jeg allerede er på. Under denne linket er form til å legge inn info på ny ansatt.

 

Virker mer logisk om man skal klikke der det står add record for å få opp form og så der legge inn ny info.

Lenke til kommentar

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...