1 ertek ket tablaba hogyan?
Sziasztok
Az lenne a kerdesem, hogy hogy tudok elmenteni egy erteket ket kulonbozo tablaba.
Konkretabban:
Forumtema id rekordjat uj tema inditaskor el kellene mentenie egybol egy forum tabla temaazon mezojebe is.
Remelem ertheto :)
Ui: bocs az ekezet hiany miatt, mobilrol irtam.
Probaltam, nem jo
Lenyegeben az egyik idjet, ami auto incrementre van allitva (ezt nem tudom hogy eppen hanyadik) akarom elmenteni egy masik tablaba temaazon mezoebe, mert ott is van id, es az masra kell.
Hmm... aszondod, ez új téma indításakor kell? Akkor amikor INSERT-eled a témát, akkor ugye az ID-t a MySQL legenerálja.
Ezt utána vissza tudod kérdezni, a SELECT MAX(ID) paranccsal, hiszen az új ID az a legnagyobb lesz mindig. Utána meg már el tudod tárolni, ahová akarod. :)
Igen gondoltam ilyenre, csak telon nehez a szerkesztes, igy csak gondoltam :)
akkor ez igy jo lehet?
Parancs1// sql beszuras
If(parancs 1){// tehat ha sikerul elmentenie
Sql lekerdezes;
Parancs2
}
picit változtattam a kódon (eddig nem nagyon volt rá időm) mostanában, és most így néz ki az egész:
<?php
session_start(); //a session indítása
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Új téma nyitása</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="../script_style/index.css" type="text/css"/>
<script type="text/javascript" src="../script_style/ora.js"></script>
</head>
<body onload="ido()">
<div id="hatter">
<img src="../images/hatter.png" width="100%" height="100%" alt=""/>
<div id="fejlec">
<img src="../images/fejlec_200px.png" alt="Fejléc" width="100%" height="100%" />
</div>
<?php
include('menusor.php');
?>
<div id="tartalom">
<?php
if(isset($_SESSION['belepett']) == true)
{
$temanev = $_POST['temanev'];
$tartalom = $_POST['tartalom'];
if ($temanev=="")
{
print "Nem töltötte ki a szükséges mezőt!
<br /><a href=temak.php>Vissza</a>";
die();
}
include("../login/sql_config.php");
$kapcsolat = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_selectdb($dbname);
$eredmeny=mysql_query("SELECT tema FROM forumtema WHERE tema='$temanev'");
$sor=mysql_fetch_row($eredmeny);
if (isset($sor[0]))
{
print "Ilyen téma már szerepel!
<br /><button type=\"button\" onclick=\"self.location='temak.php';\">Vissza</button>";
//mysql_close($kapcsolat);
die();
}
$ido = strtotime ("+1 hour"); // ide adod meg az időeltolódást
$datum=date("Y.m.d. H:i:s",$ido);
$parancs=mysql_query("INSERT INTO forumtema(tema,datum) VALUES('$temanev','$datum')") or die("<br />Hiba a forumtema létrehozásánál: ".mysql_errno().": ".mysql_error()."<br />");
if($parancs){
$idvissza = mysql_query("SELECT MAX(azon) FROM forumtema") or die("<br />Hiba a forumtema lekérdezésénél: ".mysql_errno().": ".mysql_error()."<br />");
$id = mysql_fetch_row($idvissza);
$idveg = $id[0];
$nick = $_SESSION['nick'];
$parancs2 = mysql_query("INSERT INTO forum(felado,temaazon,datum,szoveg) VALUES('$nick','$idveg','$datum','$tartalom')");
if(!mysql_query($parancs2,$kapcsolat)){
echo "Hiba az adatbázissal: ".mysql_errno().": ".mysql_error();
}
else{
print "A téma létre lett hozva!";
}
$eredmeny=mysql_query("SELECT azon,tema FROM forumtema WHERE tema='$temanev'") or die("Hiba :".mysql_errno()." :".mysql_error());
$tema=mysql_fetch_row($eredmeny);
$_SESSION["tema"] = $tema;
// print "<br><a href=furlap.php>Új hozzászólás létrehozása a témában</a>";
}
//$parancs2 = "INSERT INTO forum(felado,temaazon,datum,szoveg) VALUES('{$_SESSION['nick']}','$tema','$datum','$tartalom')";
else{
print "Nem lehet az adatbázisba írni!
<br /><button type=\"button\" onclick=\"self.location='temak.php';\">Vissza</button>";
}
//mysql_close($kapcsolat);
}
else{
echo "Csak regisztrált tagoknak elérhető!";
}
?>
</div>
<div id="infosav">
<h4>Infósáv</h4>
<form name="digiora" action="" >
<table>
<tr>
<td>Idő:</td>
<td><input class="idohatter" type="text" name="ido" size="10" value="" /></td>
</tr>
<tr>
<td>Dátum:</td>
<td><input class="idohatter" type="text" name="datum" size="10" value="" /></td>
</tr>
</table>
</form><br />
<?php
require_once('../login.php');
?>
</div> <!--infósáv-->
</div>
</body>
</html>
Ezzel az a gondom, hogy válaszként elment mindent amit szeretnék, de visszadob egy ilyen hibaüzenetet:
Hiba az adatbázissal: 1064: 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 '1' at line 1
Emellett visszajelzést nem kapok hogy el lett volna mentve, csak a phpmyadminban látom, és ott ahol használom (fórum témáinál kilistázza).
van valami ötletetek hogy mivel próbálkozzak?
mert nekem már nem maradt tippem rá...
Gondolom ehhez tartozik a hibaüzi:
$parancs2 = mysql_query("INSERT INTO forum(felado,temaazon,datum,szoveg) VALUES('$nick','$idveg','$datum','$tartalom')");
Valamelyik oszlop típusa nem int véletlenül? Mert akkor nem kell aposztrófok közé tenni az értéket.
De van köztük int, majd lehet átírom őket próbaképp, de pillanatnyilag ez megoldotta hogy szétszedtem ezt a sort:
$parancs2 = "INSERT INTO forum(felado,temaazon,datum,szoveg) ";
$parancs2 .= "VALUES('$nick',last_insert_id(),'$datum','$tartalom');";
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!