07. juli 2003 - 15:48Der er
18 kommentarer og 1 løsning
Det rigtige id.
Hey..
Jeg er igang med et forum. Når man opretter spørgsmålet, i en form bliver den "action" videre til en side, som indsætter i mysql db. Den side, redirecter så derefter hen til den side vis_spm.php, hvor spørgsmålet bliver vist. Men jeg kan ikke få den funktion til at virke, hvor den vælger det rette id. Den bliver ved med kun at redirecte til vis_spm.php?id=1 altså id bliver ved med at være et, uanset om det er id 1 eller hvad det nu er.
Opret_spm.php:
<?php
$max = 0;
// Variabler til MySQL oplysninger $mysql_host = "localhost"; // MySQL server $mysql_user = "root"; // MySQL brugernavn $mysql_pw = ""; // MySQL Adgangskode $mysql_db = "qaa"; // MySQL database navn
// Variabler til indsættelse i database $spm = $_POST["spm"];
// Her åbnes for MySQL databasen $DB = mysql_connect($mysql_host, $mysql_user, $mysql_pw)or die(mysql_error()); mysql_select_db($mysql_db, $DB)or die(mysql_error());
// Her indsættes der til MySQL $result = mysql_query("INSERT INTO sprg (spm) VALUES ('$spm')")or die(mysql_error());
// Her tages alt fra tabellen sprg $sql2 = mysql_query("SELECT * FROM sprg ORDER BY spmid");
// Sender videre til se_spm.php header("location: vis_spm.php?spm_id=$max");
?>
vis_spm.php:
<?php $spmid = $_GET["spm_id"];
// Variabler til MySQL oplysninger $mysql_host = "localhost"; // MySQL server $mysql_user = "root"; // MySQL brugernavn $mysql_pw = ""; // MySQL Adgangskode $mysql_db = "qaa"; // MySQL database navn
// Her åbnes for MySQL databasen $DB = mysql_connect($mysql_host, $mysql_user, $mysql_pw)or die(mysql_error()); mysql_select_db($mysql_db, $DB)or die(mysql_error());
// Her indsættes der til MySQL $result = mysql_query("SELECT * FROM sprg WHERE spmid = '$spmid'")or die(mysql_error());
// Laver array $row = mysql_fetch_array($result);
echo $row["spm"]; ?>
(jeg regnede ikke med det var nødvendigt med formen)
Men hvordan kan jeg lave det?
// Anders
ps Jeg kan nok først svare igen, om et par timer :o(
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg har lavet det før med ASP, og sådan noget, men det er ved at være så lang tid siden, fordi jeg har været igang med c++, og java. dea_pg ->> ar du ikke et eksempel eller sådan noget?
avminarm ->> Det har jeg osse tænkt på, men det kan jo ske at der er en der opretter spørgsmål i forumet lige efter man har trykket "Opret spørgsmål" så det er det forkerte spørgsmål man får. Ved godt det er lidt usandsynligt, men det kan jo ske.
avminarm => og hvis nu der når at komme en ny post mellem indsætningen og udvælgelse af max(id) ? så for man forkert id...
derfor:
Opret_spm.php:
<?php
$max = 0;
// Variabler til MySQL oplysninger $mysql_host = "localhost"; // MySQL server $mysql_user = "root"; // MySQL brugernavn $mysql_pw = ""; // MySQL Adgangskode $mysql_db = "qaa"; // MySQL database navn
// Variabler til indsættelse i database $spm = $_POST["spm"];
// Her åbnes for MySQL databasen $DB = mysql_connect($mysql_host, $mysql_user, $mysql_pw)or die(mysql_error()); mysql_select_db($mysql_db, $DB)or die(mysql_error());
// Her indsættes der til MySQL mysql_query("INSERT INTO sprg (spm) VALUES ('$spm')")or die(mysql_error()); // Her findes det ID som det nyligt oprettede spørgsmål fik! $nyligt_oprettet_spm_id = mysql_insert_id
// Sender videre til se_spm.php header("location: vis_spm.php?spm_id=$nyligt_oprettet_spm_id");
Hvis jeg kører det, får jeg fejl: Parse error: parse error, unexpected T_STRING in c:\programmer\apache group\apache\htdocs\qaa\opret_spm_db.php on line 24
// Variabler til MySQL oplysninger $mysql_host = "localhost"; // MySQL server $mysql_user = "root"; // MySQL brugernavn $mysql_pw = ""; // MySQL Adgangskode $mysql_db = "qaa"; // MySQL database navn
// Variabler til indsættelse i database $spm = $_POST["spm"];
// Her åbnes for MySQL databasen $DB = mysql_connect($mysql_host, $mysql_user, $mysql_pw)or die(mysql_error()); mysql_select_db($mysql_db, $DB)or die(mysql_error());
// Her indsættes der til MySQL mysql_query("INSERT INTO sprg (spm) VALUES ('$spm')")or die(mysql_error()); // Her findes det ID som det nyligt oprettede spørgsmål fik! $nyligt_oprettet_spm_id = mysql_insert_id
// Sender videre til se_spm.php header("location: vis_spm.php?spm_id=$nyligt_oprettet_spm_id");
?>
Vis_spm.php:
<?php $spmid = $_GET["spm_id"];
// Variabler til MySQL oplysninger $mysql_host = "localhost"; // MySQL server $mysql_user = "root"; // MySQL brugernavn $mysql_pw = ""; // MySQL Adgangskode $mysql_db = "qaa"; // MySQL database navn
// Her åbnes for MySQL databasen $DB = mysql_connect($mysql_host, $mysql_user, $mysql_pw)or die(mysql_error()); mysql_select_db($mysql_db, $DB)or die(mysql_error());
// Her indsættes der til MySQL $result = mysql_query("SELECT * FROM sprg WHERE spmid = '$spmid'")or die(mysql_error());
// Laver array $row = mysql_fetch_array($result);
echo $row["spm"]; ?>
Jeg kan desværre først komme på exp igen om en times tid.
Der mangler lige lidt her: -------------------------- Her indsættes der til MySQL mysql_query("INSERT INTO sprg (spm) VALUES ('$spm')")or die(mysql_error()); // Her findes det ID som det nyligt oprettede spørgsmål fik! $nyligt_oprettet_spm_id = mysql_insert_id();
sorry, havde lige glemt "();"... men tak for point...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.