Gå til innhold

Enkelste måten og oppdatere og skrive ut (mySQL)


Anbefalte innlegg

Har sett litt rundt på mySQL og PHP guider osv. men det er ett problem og finne ut hvordan jeg skal begynne.

 

Skal ha en php fil som henter ut informasjon fra en lingje i en tabell i mySQL.

Det skal vises som ren tekst (echo()) i php filen.

 

Jeg skal også ha en form (<form ..><input ....) hvor jeg kan oppdatere informasjonen i tabellen.

 

Noen som gidder hjelpe meg med dette? :wee:

Endret av goggen90
Lenke til kommentar
Videoannonse
Annonse

Går her utifra at du har en tabellstruktur som ser slik ut:

 

id | navn | epost

 

Da du ikke spesifiserte tabellstrukturen laget jeg kun et eksempel.

 

uansett, her:

<?php
class minsql{
var $hostname = 'localhost';
var $username = 'root';
var $password = '';
var $db;

function sql($db = 'mindb'){
 $this->db = $db;
 
 $ret = mysql_connect($this->hostname, $this->username, $this->password);
 mysql_select_db($db, $ret);
 return $ret;
}

function getDB(){
 return $this->db;	
}
}



$action = (int) $_GET['action'];
$id = (int) $_GET['id']; //tilhørende id i tabell rekken(fra edit knappen eller no)

switch($action){
case 1:
 formOut($id);	
 break;
case 2:
 updateField($id);
 break;
default:
 	if(empty($id)){
   die("Det oppstod en feil, mottok ingen ID");	
 	}
 	formOut($id);
}


function formOut($id){
$conn = new minsql();

$sql = "SELECT * from tabell WHERE id='$id LIMIT 1";
$result = mysql_query($sql, $conn);

if($result){
 mysql_close($conn);
 
 $data = mysql_fetch_object($result);
 
 printf('<form method="GET" action="%s?">
   <input type="hidden" name="id" value="%d">
   <input type="hidden" name="action" value="2">
   <input type="text" name="navn" value="%s"><br>
   <input type="text" name="epost" value="%s"><br>
   <input type="submit" name="update" value="Oppdater">', $_SERVER['PHP_SELF'], $id, $data->navn, $data->epost);	
 
} else {
 echo "Fant ingen oppføring med id: $id";	
}

}

function updateField($id){

$navn = preg_match('@^[a-zæøå]$@i', $_GET['navn']);
$epost = preg_match('/^[a-zæøå0-9_-\.]{1, }@[a-z0-9_-\.]\.[a-z]{2,4}$/i', $_GET['epost']);

$conn = new minsql();

$sql = "UPDATE tabell SET
 	navn='$navn',
 	epost='$epost'
 	WHERE id='$id'";

$result = mysql_query($sql, $conn);

if($result){
 echo "Tabell oppdatert";	
} else {
 echo "Det oppstod en feil ved oppdateringen";	
}

}

?>

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