Skriver jag sidan.php?id=1 så vill ja skriva ut information som finns just på det id.
något i stil med detta vill jag ska hämtas från databasen. Men vet inte hur jag ska skriva koden så han ska hämta id nummer från url.
SELECT * FROM lead WHERE id = ".$id
Vet inte om jag är ute och cyklar nu men kan det vara denna kod jag letar efter? Om det är det så funkar det inte ändå :P
<?php
$dbhost = '';
$dbuser = '';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$id = (int) $_GET['id'];
$sql = "SELECT * FROM lead WHERE id = '$id'";
mysql_select_db('');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo " {$row['foretag']} ".
" {$row['ort']} ".
" {$row['mobilnr']} ".
" {$row['kontaktperson']} ".
" {$row['ovriginfo']} ".
" {$row['utfall']} ";
}
mysql_close($conn);
?>
Nate.AMedlem sedan mars 2006296 inlägg Får du några felmeddelanden eller blir det bara en blank sida?
Om du vill visa alla felmeddelanden kan du lägga till det här längst upp efter "<?php"
error_reporting(E_ALL);
ini_set("display_errors", "1");
...och det kan vara vettigt att kontrollera så id är satt
if(isset($_GET['id']) && is_numeric($_GET['id'])){
$id = (int)$_GET['id'];
$sql = "SELECT * FROM lead WHERE id = " . $id ." LIMIT 1";
} else {
// Vad som händer om inte id finns
die("Inget ID");
}
Får bara en blank sida och inga felmeddelande trots att jag satt in koden du skrev ovan.
Jag är så korkad! Jag har ju skrivet ett id som inte finns så det är ju inte konstigt att det inte kommer fram något resultat.
Kan ju passa på att fråga om du vet vad detta problemet kan bero på ?
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /storage/content/51/191351/crm.mivamedia.se/public_html/update_lead.php on line 30
if(isset($_GET['id']) && is_numeric($_GET['id'])){
$id = (int)$_GET['id'];
$sql=" UPDATE lead (orgnr, foretag, kontaktperson, ftgnr, mobilnr, epost, besokadress, ovriginfo, utfall, datum, ort, agare, senastupdaterad)
VALUES ('$orgnr', '$foretag', '$kontaktperson', '$ftgnr', '$mobil', '$epost', '$besokadress', '$ovriginfo', '$utfall', '$datum', '$ort', '$agare', NOW())
WHERE id=" . $id ." LIMIT 1"";
} else {
// Vad som händer om inte id finns
die("Inget ID");
} <!--- linje 30
metalboyMedlem sedan jan. 2005953 inlägg Du har ett citationstecken (") för mycket efter LIMIT 1 några rader ovanför.
metalboy skrev:
Du har ett citationstecken (") för mycket efter LIMIT 1 några rader ovanför.
När jag tog bort det fick jag.
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(orgnr, foretag, kontaktperson, ftgnr, mobilnr, epost, besokadress, ovriginfo, u' at line 1
metalboyMedlem sedan jan. 2005953 inlägg En UPDATE-sats ska skrivas som
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
(http://dev.mysql.com/doc/refman/5.0/en/update.html)
Skriv alltså om det så här:
$sql="UPDATE lead SET orgnr='$orgnr', foretag='$foretag', kontaktperson='$kontaktperson', ftgnr='$ftgnr', mobilnr='$mobil', epost='$epost', besokadress='$besoksadress', ovriginfo='$ovriginfo', utfall='$utfall', datum='$datum', ort='$ort', agare='$agare', senastupdaterad=NOW()
WHERE id=" . $id ." LIMIT 1";
Jag vill också passa på att påpeka att PHP:s mysql-funktioner är deprecated. Det betyder att de kommer att försvinna i någon av de kommande versionerna. Titta gärna på PDO eller Mysqli istället.
metalboy skrev:
En UPDATE-sats ska skrivas som
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
(http://dev.mysql.com/doc/refman/5.0/en/update.html)
Skriv alltså om det så här:
$sql="UPDATE lead SET orgnr='$orgnr', foretag='$foretag', kontaktperson='$kontaktperson', ftgnr='$ftgnr', mobilnr='$mobil', epost='$epost', besokadress='$besoksadress', ovriginfo='$ovriginfo', utfall='$utfall', datum='$datum', ort='$ort', agare='$agare', senastupdaterad=NOW()
WHERE id=" . $id ." LIMIT 1";
Jag vill också passa på att påpeka att PHP:s mysql-funktioner är deprecated. Det betyder att de kommer att försvinna i någon av de kommande versionerna. Titta gärna på PDO eller Mysqli istället.
Nu funkade det. Tusen tack.