Archívum - Már 19, 2008
Törlés adatbázisból php-ben
Hali!
Adatbazisbol szeretnek adatokat torolni php-n keresztul. Az a baj hogyha beirom, h. "DELETE FROM latogatas WHERE id=20" akkor sikerul, de hogyha a szam helyere beirok egy valtozot akkor nem.
■ Adatbazisbol szeretnek adatokat torolni php-n keresztul. Az a baj hogyha beirom, h. "DELETE FROM latogatas WHERE id=20" akkor sikerul, de hogyha a szam helyere beirok egy valtozot akkor nem.
<html>
<body>
<?
ob_start();
include("dbconn.php");
print ("<table style='width: 100%;'>
<tr style='background: lightgrey'>
<td style='width: 5%'>Oldal</td>
<td style='width: 3%'>ID</td>
<td style='width: 15%'>IP cím</td>
<td style='width: 12%'>Host</td>
<td style='width: 50%'>Adatok</td>
<td>Belépés ideje</td>
<td> </td></tr>");
result = mysql_query ("SELECT * FROM latogatas ORDER BY `id` DESC LIMIT 0 , 30 ");
while($row = mysql_fetch_array($result))
{
print ("<tr style='background: lightblue'>
<td style='width: 5%'>" . $row["oldal"]."</td>
<td>" . $row["id"]." </td><td> " . $row["ip"]." </td>
<td> ".$row["gethoszt"]."</td><td> ".$row["adatok"]." </td>
<td> " . $row["ido"]." </td>
<td><a href='torol.php?id=".$row["id"]."'>törlés</a></td</tr>");
}
print "</table>";
?>
<?
mysql_close($kapcsolat);
ob_end_flush();
?>
</body>
</html>
--------------------------------------------------------------------------------------------------------
torol.php
---------
<?
ob_start();
include("dbconn.php");
$parancs = "DELETE FROM latogatas WHERE id=20";
mysql_query($parancs);
header("Location: form.php");
mysql_close($kapcsolat);
ob_end_flush();
?>
dbf konvertálása sql-be (mysql-be)
Szevasztok!
Van egy DBF-em, aminek a tábláit szeretném SQL-be konvertálni. Kezdő vagyok a témában ezért kérném a segítségeteket.
Azzal kezdtem, hogy a PHPMYADMIN-ban a MYSQL test adatbázisából csináltam egy exportot, megnéztem, hogy ennek milyen a felépítése. Ennek mintájára txt-be konvertáltam a DBF tábla adatait, majd azt megnyitva CTRL+A, CTRL+C, PHPMYADMIN SQL szerkesztő ablakába CTRL+V, VÉGREHAJT gomb, és némi várakozás után az adatok a helyükre kerültek. Igenám, de ez a módszer csak kisebb méretü tábláknál működik, ha meg a nagyokat feldarabolom kisebbekre az nagyon macerás. Tudnátok valami elegánsabb megoldást javasolni? A PHPMYADMIN-ban lévő import itt nem használható, mert a legkisebb importálandó fájl mérete is 100M feletti.
Az alábbi php-s megoldással próbálkoztam:
<?
$kapcsolat = mysql_connect('localhost', 'user', 'pass')
or die('MySQL hiba, nem tudok csatlakozni: ' . mysql_error());
echo '<center><h1>A MySQL kapcsolódás sikerült!</h1></center>';
$adatbazis=mysql_select_db("proba",$kapcsolat) ;
if (!$adatbazis) :
die("Nem tudom kiválasztani a kért adatbázist!" . mysql_error()) ;
endif ;
$sor = 1;
$handle = fopen("C:/a/proba.sql", "r");
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$num = count($data);
$parancssor=false ;
$adatsor=false ;
for ($c=0; $c < $num; $c++)
{
switch ($num>0) :
case substr($data[0],0,6)=='INSERT' :
$parancssor=true ;
$adatsor=false ;
break;
case substr($data[0],0,6)!=='INSERT' :
$parancssor=false ;
$adatsor=true ;
break;
endswitch;
switch ($num>0) :
case $parancssor :
$parancs=$data[$c] ;
break;
case $adatsor :
$adat=$adat . mysql_real_escape_string($data[$c]) ;
break;
endswitch;
}
$sor++;
}
fclose($handle);
$jel='"' ;
$sqlparancs="mysql_query(" . $jel . $parancs . $adat . $jel . ");" ;
eval($sqlparancs) ;
printf("Az utoljára beszúrt sor a %d azonosítót kapta.
Van egy DBF-em, aminek a tábláit szeretném SQL-be konvertálni. Kezdő vagyok a témában ezért kérném a segítségeteket.
Azzal kezdtem, hogy a PHPMYADMIN-ban a MYSQL test adatbázisából csináltam egy exportot, megnéztem, hogy ennek milyen a felépítése. Ennek mintájára txt-be konvertáltam a DBF tábla adatait, majd azt megnyitva CTRL+A, CTRL+C, PHPMYADMIN SQL szerkesztő ablakába CTRL+V, VÉGREHAJT gomb, és némi várakozás után az adatok a helyükre kerültek. Igenám, de ez a módszer csak kisebb méretü tábláknál működik, ha meg a nagyokat feldarabolom kisebbekre az nagyon macerás. Tudnátok valami elegánsabb megoldást javasolni? A PHPMYADMIN-ban lévő import itt nem használható, mert a legkisebb importálandó fájl mérete is 100M feletti.
Az alábbi php-s megoldással próbálkoztam:
<?
$kapcsolat = mysql_connect('localhost', 'user', 'pass')
or die('MySQL hiba, nem tudok csatlakozni: ' . mysql_error());
echo '<center><h1>A MySQL kapcsolódás sikerült!</h1></center>';
$adatbazis=mysql_select_db("proba",$kapcsolat) ;
if (!$adatbazis) :
die("Nem tudom kiválasztani a kért adatbázist!" . mysql_error()) ;
endif ;
$sor = 1;
$handle = fopen("C:/a/proba.sql", "r");
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$num = count($data);
$parancssor=false ;
$adatsor=false ;
for ($c=0; $c < $num; $c++)
{
switch ($num>0) :
case substr($data[0],0,6)=='INSERT' :
$parancssor=true ;
$adatsor=false ;
break;
case substr($data[0],0,6)!=='INSERT' :
$parancssor=false ;
$adatsor=true ;
break;
endswitch;
switch ($num>0) :
case $parancssor :
$parancs=$data[$c] ;
break;
case $adatsor :
$adat=$adat . mysql_real_escape_string($data[$c]) ;
break;
endswitch;
}
$sor++;
}
fclose($handle);
$jel='"' ;
$sqlparancs="mysql_query(" . $jel . $parancs . $adat . $jel . ");" ;
eval($sqlparancs) ;
printf("Az utoljára beszúrt sor a %d azonosítót kapta.