ugrás a tartalomhoz

Archívum - Már 19, 2008

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.
<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>&nbsp;</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)

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.