pierwsza nazwij kawal: id, tekstkawalu, datakawalu, idautora
druga o nazwie autor: id, nazwa, email
id w tabeli autor równa sie idautora w tabeli kawal
Teraz mam skrypt:
Kod
if (isset($_POST['joketext'])):
// Wpisano nowy kawał
// do formularza.
$aid = $_POST['aid'];
$joketext = $_POST['joketext'];
if ($aid == '') {
exit('<p>Musisz wybrać autora kawału. Kliknij ' .
'"Wstecz" i spróbuj jeszcze raz.</p>');
}
$sql = "INSERT INTO kawal SET
tekstkawalu='$joketext',
datakawalu=CURDATE(),
idautora='$aid'";
if (@mysql_query($sql)) {
echo '<p>Dodano nowy kawał</p>';
} else {
exit('<p>Problem podczas dodawania kawału: ' . mysql_error() . '</p>');
}
$jid = mysql_insert_id();
if (isset($_POST['cats'])) {
$cats = $_POST['cats'];
} else {
$cats = array();
}
$numCats = 0;
foreach ($cats as $catID) {
$sql = "INSERT IGNORE INTO kategoriakawalu
SET idkawalu=$jid, idkategorii=$catID";
$ok = @mysql_query($sql);
if ($ok) {
$numCats = $numCats + 1;
} else {
echo "<p>Problem podczas przypisywania kawału do kategorii $catID: " .
mysql_error() . '</p>';
}
}
?>
<p>Kawał został dodany do <?php echo $numCats; ?> kategorii.</p>
<p><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Dodaj kolejny kawał</a></p>
<p><a href="jokes.php">Powrót do wyszukiwania kawałów</a></p>
<?php
else: // Pozwalamy użytkownikowi wpisać tekst nowego kawału
$authors = @mysql_query('SELECT id, email FROM autor');
if (!$authors) {
exit(
'<p>Nie można pobrać listy autorów z bazy danych.</p>');
}
$cats = @mysql_query('SELECT id, nazwa FROM kategoria');
if (!$cats) {
exit('<p>Nie można pobrać listy kategorii ' .
'z bazy danych.</p>');
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Wpisz nowy kawał:<br />
<textarea name="joketext" rows="5" cols="45">
</textarea></p>
<p>Autor:
<select name="aid" size="1">
<option selected value="">Wybierz autora</option>
<option value="">---------</option>
<?php
while ($author = mysql_fetch_array($authors)) {
$aid = $author['id'];
$aname = htmlspecialchars($author['email']);
echo "<option value='$aid'>$aname</option>\n";
}
?>
</select></p>
<p>Przypisz do kategorii:<br />
<?php
while ($cat = mysql_fetch_array($cats)) {
$cid = $cat['id'];
$cname = htmlspecialchars($cat['nazwa']);
echo "<label><input type='checkbox' name='cats[]' " .
"value='$cid' />$cname</label><br />\n";
}
?>
// Wpisano nowy kawał
// do formularza.
$aid = $_POST['aid'];
$joketext = $_POST['joketext'];
if ($aid == '') {
exit('<p>Musisz wybrać autora kawału. Kliknij ' .
'"Wstecz" i spróbuj jeszcze raz.</p>');
}
$sql = "INSERT INTO kawal SET
tekstkawalu='$joketext',
datakawalu=CURDATE(),
idautora='$aid'";
if (@mysql_query($sql)) {
echo '<p>Dodano nowy kawał</p>';
} else {
exit('<p>Problem podczas dodawania kawału: ' . mysql_error() . '</p>');
}
$jid = mysql_insert_id();
if (isset($_POST['cats'])) {
$cats = $_POST['cats'];
} else {
$cats = array();
}
$numCats = 0;
foreach ($cats as $catID) {
$sql = "INSERT IGNORE INTO kategoriakawalu
SET idkawalu=$jid, idkategorii=$catID";
$ok = @mysql_query($sql);
if ($ok) {
$numCats = $numCats + 1;
} else {
echo "<p>Problem podczas przypisywania kawału do kategorii $catID: " .
mysql_error() . '</p>';
}
}
?>
<p>Kawał został dodany do <?php echo $numCats; ?> kategorii.</p>
<p><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Dodaj kolejny kawał</a></p>
<p><a href="jokes.php">Powrót do wyszukiwania kawałów</a></p>
<?php
else: // Pozwalamy użytkownikowi wpisać tekst nowego kawału
$authors = @mysql_query('SELECT id, email FROM autor');
if (!$authors) {
exit(
'<p>Nie można pobrać listy autorów z bazy danych.</p>');
}
$cats = @mysql_query('SELECT id, nazwa FROM kategoria');
if (!$cats) {
exit('<p>Nie można pobrać listy kategorii ' .
'z bazy danych.</p>');
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Wpisz nowy kawał:<br />
<textarea name="joketext" rows="5" cols="45">
</textarea></p>
<p>Autor:
<select name="aid" size="1">
<option selected value="">Wybierz autora</option>
<option value="">---------</option>
<?php
while ($author = mysql_fetch_array($authors)) {
$aid = $author['id'];
$aname = htmlspecialchars($author['email']);
echo "<option value='$aid'>$aname</option>\n";
}
?>
</select></p>
<p>Przypisz do kategorii:<br />
<?php
while ($cat = mysql_fetch_array($cats)) {
$cid = $cat['id'];
$cname = htmlspecialchars($cat['nazwa']);
echo "<label><input type='checkbox' name='cats[]' " .
"value='$cid' />$cname</label><br />\n";
}
?>
Problem polega na tym ze mam wypiane nazwy autora które mam wybrać a ja chce zamiast tego prosty formularz wpisując email autor i dodający wszytko do bazy dany.