Niepowtarzalność rekordów, dodawanie większej ilości rekordów na raz.

0

Witam, mam dwa pytanka, mój kod

<?php
include('../config.php');
$row=mysql_query('SELECT * FROM sms_kod');
$row1=mysql_query('SELECT * FROM sms_kod');

?>
<table border=1>
<tr>
<td>Numer</td>
<td>Kod</td>
<td>Użyty</td>
</tr>
</table>
<?php
while($s = mysql_fetch_array($row)) { 
    ?>
    <table border=1>
    <tr>
    <td><?php echo $s['numer']; ?></td>
    <td><?php echo $s['kod']; ?></td>
    <td><?php echo $s['uzyty']; ?></td>
    </tr>
    </table>
    <?php
}
?>
<h1> Dodaj kody jednorazowe SMS </h1>
<p>Wybierz numer na który chcesz dodać kody jednorazowe</p>
<form action="<?php $_SERVER['PHP_SELF'] ?> " Method= "POST">
<?php
    echo '<select name="numer_sms">';
    echo '';
    while($y = mysql_fetch_array($row1)) { 
    echo "<option>".$y['numer']."</option>";
    }
    echo '</select>';
 
?>
<p> Kod jednorazowy: <input type="text" name="kod" /><br>
<input type="submit" value="Dodaj" name="dodaj"/>
</form>
<?php
$kod=$_POST['kod'];
$numer=$_POST['numer_sms'];

if ($_POST['dodaj'] && !empty($kod)) {
$row2='INSERT INTO `sms_kod` VALUES (null , "'.$numer.'", "'.$kod.'", "0" )';
$wynik2=mysql_query($row2) or die('BŁĄD:'.mysql_error());
    if ($wynik2) 
    echo 'Dodano kod jednorazowy sms';
    else
    echo 'Błąd przy dodawaniu kodu jednorazowego';
}

1: Jak zrobić aby w dodawaniu kodów gdzie jest numer rekordy się nie powtarzały.
2: Jak zrobić dodawanie na raz więcej rekordów? Np nowy rekord w nowej lini. Za pomocą tekstowej wersji formularza.

1
  1. w bazie ustaw pole, które ma się nie powtarzać jako unique. Jeżeli chcesz trzymać pierwszy wpis, rób "insert ignore" zamiast "insert", jeżeli najnowszy - "replace"
  2. "insert into ... VALUES (...),(...),(...),(...)"
0

zwykle w bazie danych wszystko sprowadza się do klucza pierwotnego i relacji (to jest pierwsza i druga postać normalna - trzecią jest wiele do wielu, które wymagają tabel pośrednich lub zagnieżdzenia :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1