ugrás a tartalomhoz

Archívum - Már 19, 2008 - Fórum téma

Törlés adatbázisból php-ben

nemalevi · 2008. Már. 19. (Sze), 21.28
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.
  1. <html>  
  2. <body>  
  3. <?  
  4. ob_start();  
  5. include("dbconn.php");  
  6. print ("<table style='width: 100%;'>  
  7.            <tr style='background: lightgrey'>  
  8.               <td style='width: 5%'>Oldal</td>  
  9.               <td style='width: 3%'>ID</td>  
  10.               <td style='width: 15%'>IP cím</td>  
  11.               <td style='width: 12%'>Host</td>  
  12.               <td style='width: 50%'>Adatok</td>  
  13.               <td>Belépés ideje</td>  
  14.               <td>&nbsp;</td></tr>");  
  15.   
  16. result = mysql_query ("SELECT * FROM latogatas ORDER BY `id` DESC LIMIT 0 , 30 ");   
  17. while($row = mysql_fetch_array($result))   
  18. {  
  19.    
  20. print ("<tr style='background: lightblue'>  
  21.             <td style='width: 5%'>" . $row["oldal"]."</td>  
  22.             <td>" . $row["id"]." </td><td> " . $row["ip"]." </td>  
  23.             <td> ".$row["gethoszt"]."</td><td> ".$row["adatok"]." </td>  
  24.             <td> " . $row["ido"]." </td>  
  25.             <td><a href='torol.php?id=".$row["id"]."'>törlés</a></td</tr>");  
  26. }  
  27. print "</table>";  
  28. ?>  
  29. <?  
  30. mysql_close($kapcsolat);  
  31. ob_end_flush();  
  32. ?>  
  33. </body>  
  34. </html>  
  35.   
  36. --------------------------------------------------------------------------------------------------------  
  37.   
  38. torol.php  
  39. ---------  
  40.   
  41. <?  
  42. ob_start();  
  43. include("dbconn.php");  
  44. $parancs = "DELETE FROM latogatas WHERE id=20";  
  45. mysql_query($parancs);  
  46.   
  47. header("Location: form.php");  
  48.   
  49. mysql_close($kapcsolat);  
  50.   
  51. ob_end_flush();  
  52. ?>  
 

dbf konvertálása sql-be (mysql-be)

pl509 · 2008. Már. 19. (Sze), 16.26
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.