2017-02-01 5 views
0

Ich versuche, eine Schaltfläche zum Löschen meiner Tabelle zu machen, so dass ich einfach Elemente aus der Liste mit nur dem Löschen-Button entfernen kann. aber ich kann nicht herausfinden, wie es zu tun, so würde ich fragen, ob jemand CUD mir helfenVersuchen, ein Löschen meiner Tabelle hinzuzufügen (mysql/pdo/php)

Hier ist mein Code atm index.php

?php include 'connection.php' ?> 
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
 
<link rel="stylesheet" type="text/css" href="css/style.css"> 
 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
 
<!-- <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> --> 
 
<link href="css/bootstrap-3.3.7.css" rel="stylesheet" type="text/css"> 
 
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 
 
<!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
 
<!--[if lt IE 9]> 
 
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> 
 
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> 
 
<![endif]--> 
 
</head> 
 
<body> 
 
<div class="container"></div> 
 

 
<div class="row"> 
 
<div id="header" class="header col-md-12"> 
 
    <h1 class="page-header" id="header">Invertering</h1> 
 
</div> 
 
</div> 
 

 
<!--Input --> 
 
<div class="row"> 
 
<div class="col-md-12"> 
 
<form method="post" id="input" > 
 

 
\t <input type="text" name="namn" id="tasklabel" placeholder="namn"/> 
 
\t 
 
    <input type="text" name="antal" id="tasklabel" placeholder="antal"/> 
 
    
 
    <input type="text" name="lagerplats" id="tasklabel" placeholder="lagerplats"/> 
 
    
 
    <br /> 
 
\t <input id="submit" type="submit" value="Lägg till"> 
 
\t <br /> 
 
</form> 
 
</div> 
 
</div> 
 

 

 

 

 
<div class="row"> 
 
<div class="col-md-12"> 
 
<form method="post" id="input" action="delete.php" >  
 
    <input id="test" type="text" name="id" id="tasklabel" placeholder="Id att ta bort"/> 
 
    <br /> 
 
\t <input id="submit" type="submit" value="Ta bort"> 
 
\t <br /> 
 
</form> 
 
</div> 
 
</div> 
 

 

 

 
<div class="row"> 
 
<div id="table" class="col-md-12"> 
 
<li><a href="delete.php?id=<?php echo $row['id']; ?>">Delete</a></li> 
 
    <?php 
 
echo "<table style='border: solid 1px black; margin: auto; \t width: 50%; padding: 10px; text-align:center;'>"; 
 
echo "<tr><th style='text-align:center; border: solid 1px black;'>Namn</th><th style='text-align:center; border: solid 1px black;'>Antal</th><th style='text-align:center; border: solid 1px black;'>Lagerplats</th><th style='text-align:center; border: solid 1px black;'>Id</th><th style='text-align:center; border: solid 1px black;'>Ta bort</th></tr>"; 
 

 
class TableRows extends RecursiveIteratorIterator { 
 
    function __construct($it) { 
 
     parent::__construct($it, self::LEAVES_ONLY); 
 
    } 
 

 
    function current() { 
 
     return "<td style='width:150px; text-align:center; border: solid 1px black;'>" . parent::current(). "</td>"; 
 
    } 
 

 
    function beginChildren() { 
 
     echo "<tr>"; 
 
    } 
 

 
    function endChildren() { 
 
     echo "</tr>" . "\n"; 
 
    } 
 
} 
 

 

 
try { 
 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
 
    $stmt = $conn->prepare("SELECT namn, antal, lagerplats, id FROM inventory"); 
 
    $stmt->execute(); 
 

 
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
 
    foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
 
     echo $v; 
 
    } 
 
} 
 
catch(PDOException $e) { 
 
    echo "Error: " . $e->getMessage(); 
 
} 
 

 
$conn = null; 
 
echo "</table>"; 
 
?> 
 

 
</div> 
 
</div> 
 

 

 

 

 
</body> 
 
</html>

dann hier ist meine Löschfunktion

<?php 
 
$servername = "localhost"; 
 
$username = "root"; 
 
$password = "root"; 
 
$dbname = "inventory"; 
 

 
$id=$_POST['id']; 
 

 

 

 

 
try { 
 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
 
    // set the PDO error mode to exception 
 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
 

 
    // sql to delete a record 
 
    $sql = "DELETE FROM inventory WHERE id=$id"; 
 

 
    // use exec() because no results are returned 
 
    $conn->exec($sql); 
 
    echo "Record deleted successfully"; 
 
\t echo "<html><meta http-equiv=\"refresh\" content=\"1;URL='http://localhost/invertering/index.php'\"><p>Please wait 1 seconds...</p></html>"; 
 
    } 
 
catch(PDOException $e) 
 
    { 
 
    echo $sql . "<br>" . $e->getMessage(); 
 
    } 
 

 
$conn = null; 
 
?>

Und hier ist die Verbindung

<?php 
 
$servername = "localhost"; 
 
$username = "root"; 
 
$password = "root"; 
 
$dbname = "inventory"; 
 

 

 
$namn=$_POST['namn']; 
 
$antal=$_POST['antal']; 
 
$lagerplats=$_POST['lagerplats']; 
 

 

 
try { 
 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
 
    } 
 
catch(PDOException $e) 
 
    { 
 
    echo $sql . "<br>" . $e->getMessage(); 
 
    } 
 
\t 
 
?> \t 
 
\t 
 
<?php 
 
if ($namn == null) { 
 

 
print "<script>alert('var god och skriv något...')</script>"; 
 
} 
 
else { 
 

 
    $sql = "INSERT INTO inventory (namn, antal, lagerplats) 
 
    VALUES ('$namn', '$antal', '$lagerplats')"; \t 
 
\t $conn->exec($sql); 
 
} 
 
?> 
 

 

 

 
<?php 
 
$conn = null; 
 
?>

Ps: ich weiß, dass der Code schlecht sind, aber iam mein Bestes atm tun

+0

Und was passiert, wenn auf die Schaltfläche zum Löschen geklickt wird, $ sql = "DELETE FROM inventory WHERE id = $ id"; Fügen Sie einen * $ sql = "DELETE * FROM Inventar WHERE ID = $ ID"; – yesitsme

+0

'delete.php? Id = MacBooc

+0

@yesitsme der * ändern nichts, weil Sie eine Zeile löschen, kein Feld – MacBooc

Antwort

-1

Obwohl ich nicht, Ihren Code in der Tiefe gesehen haben, aber die Die Art und Weise, die Sie zu implementieren versuchen, sieht gut aus.

Rufen Sie einfach eine Funktion mit Javascript auf Schaltfläche klicken und erhalten Sie die Antwort. Wenn das Löschen erfolgreich war, blenden Sie entweder diesen Eintrag aus oder aktualisieren Sie die gesamte Tabelle, je nachdem, was am bequemsten ist.

Wenn der Fehler empfangen wurde, dann eine Fehlermeldung mit einem Popup anzeigen.

Verwandte Themen