Ciao a tutti,
spero che qualcuno possa aiutarmi non cavo ragno dal buco ( neofita join )
Allora ho creato un db relazionale dove ci sono 5 tabelle
annunci
citta
provincia
users
cliente
Ho creato un'area amministrativa dove ad ogni cliente dovrei associare i propri annunci,
e se inserisco a mano nella tabella annunci tutto funziona, infatti ad ogni cliente nella sua area si presenta il suo listato annunci e la sua anagrafica, fino qui tutto ok...
Ora ho creato un form per inviare gli annunci dove c'è una select sia per le provincie sia per le citta' e qui tutto funziona, io vorrei pero' che ad ogni invio si prendesse in automatico
l'user_id e clienteid ma non capisco davvero come fare, e vorrei evitare di farlo a mano per ogni cliente spero che qualcuno possa aiutarmi, vi posto la tabella annunci con un piccolo dump e lo script e confido in Voi.
Grazie mille
Codice PHP:
-- phpMyAdmin SQL Dump
-- version 3.3.7
-- [url]http://www.phpmyadmin.net[/url]
--
-- Host: localhost
-- Generato il: 08 ago, 2011 at 06:58 AM
-- Versione MySQL: 5.1.44
-- Versione PHP: 5.3.2
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `sicilia`
--
-- --------------------------------------------------------
--
-- Struttura della tabella `annunci`
--
CREATE TABLE IF NOT EXISTS `annunci` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`descrizione` longtext NOT NULL,
`mq` varchar(255) NOT NULL,
`locali` varchar(255) NOT NULL,
`prezzo` varchar(255) NOT NULL,
`tipologia` varchar(255) NOT NULL,
`altro` varchar(255) NOT NULL,
`annunciodate` date NOT NULL,
`provinciaid` int(255) NOT NULL,
`user_id` int(11) NOT NULL,
`cittaid` int(11) NOT NULL,
`clienteid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=46 ;
--
-- Dump dei dati per la tabella `annunci`
--
INSERT INTO `annunci` (`id`, `descrizione`, `mq`, `locali`, `prezzo`, `tipologia`, `altro`, `annunciodate`, `provinciaid`, `user_id`, `cittaid`, `clienteid`) VALUES
(5, 'pizza e fichi', '100', '89', 'kklkdlslkds', 'sdnlkdsf', 'vkldsjfkldsfjlks', '2011-08-04', 13, 54, 4, 4),;
Script invio annunci
Codice PHP:
<?php
include 'dbc.php';
page_protect();
?>
<html>
<head>
<title>My Account</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="5" class="main">
<tr>
<td colspan="3"></td>
</tr>
<tr>
<td width="160" valign="top">
<?php
if (isset($_SESSION['user_id'])) {?>
<div class="myaccount">
[b]My Account[/b]</p>
[url="myaccount.php"]My Account[/url]
[url="mysettings.php"]Settings[/url]
[url="logout.php"]Logout [/url]
You can add more links here for users</p></div>
<?php }
if (checkAdmin()) {
?>
[url="admin.php"]Admin CP [/url]</p>
<?php } ?>
</p>
</p>
</p></td>
<td width="732" valign="top">
</p>
<h3 class="titlehdr">Welcome <?php echo $_SESSION['user_name'];?></h3>
<?php
if (isset($_GET['msg'])) {
echo "<div class=\"error\">$_GET[msg]</div>";
}
?>
This is the my account page</p>
<?php
$jokelist = @mysql_query(
'SELECT *
FROM annunci, citta, provincia, cliente WHERE user_id='.$_SESSION['user_id'].' AND provinciaid=provincia.id AND cittaid=citta.id AND clienteid=cliente.id ORDER BY `user_id` DESC LIMIT 1 ');
if (!$jokelist) {
exit('
Error performing query: ' . mysql_error() . '</p>');
}
while ($joke = mysql_fetch_array($jokelist)) {
$nome = $joke['nome'];
$cognome = $joke['cognome'];
$email = $joke['email'];
// Display the joke with author information
echo "$nome
";
echo "$cognome
";
echo "[email='$email']$email[/email]";
}
?>
</td>
<td width="196" valign="top"></td>
</tr>
<tr>
<td colspan="3"></td>
</tr>
</table>
<?php echo $_SESSION['user_name'];?>
<?php echo $_SESSION['user_id'];
require ("db_connect.php");
if (isset($_POST['descrizione'])):
// x un nuovo annuncio usa il form
$aid = $_POST['aid'];
$cid = $_POST['cid'];
$descrizione = $_POST['descrizione'];
$mq = $_POST['mq'];
$locali = $_POST['locali'];
$prezzo = $_POST['prezzo'];
$tipologia = $_POST['tipologia'];
$altro = $_POST['altro'];
$cats = $_POST['cats'];
if ($aid == '') {
exit('
Scegli la provincia x l annuncio. Click "Back" and try again.</p>');
}
$sql = "INSERT INTO annunci SET
descrizione='$descrizione',
mq='$mq',
locali='$locali',
prezzo='$prezzo',
tipologia='$tipologia',
altro='$altro',
annunciodate=CURDATE(),
provinciaid='$aid',
cittaid='$cid'";
if (@mysql_query($sql)) {
echo '
Nuovo annuncio inserito</p>';
} else {
exit('
Errore aggiunta nuovo annuncio: ' . 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 cittaprovinciauser
SET annunciid=$jid, cittaid=$catID";
$ok = @mysql_query($sql);
if ($ok) {
$numCats = $numCats + 1;
} else {
echo "
Errore inserimento annuncio $catID: " .
mysql_error() . '</p>';
}
}
?>
Annunci aggiunto <?php echo $numCats; ?> categories.</p>
[url="<?php echo $_SERVER['PHP_SELF']; ?>"]Aggiungi un nuovo annuncio[/url]</p>
<a href="search.php">Ritorna alla ricerca/a></p>
<?php
else: // inserimento provincia e citta'
$authors = @mysql_query('SELECT id, name FROM provincia');
if (!$authors) {
exit('
errore inserimento provincia.</p>');
}
$cats = @mysql_query('SELECT id, citta FROM citta');
if (!$cats) {
exit('
errore inserimento citta.</p>');
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Inserisci annuncio
descrizione
<textarea name="descrizione" rows="5" cols="45">
</textarea></p>
mq
<textarea name="mq" rows="5" cols="45">
</textarea></p>
locali
<textarea name="locali" rows="5" cols="45">
</textarea></p>
prezzo
<textarea name="prezzo" rows="5" cols="45">
</textarea></p>
tipologia
<textarea name="tipologia" rows="5" cols="45">
</textarea></p>
altro
<textarea name="altro" rows="5" cols="45">
</textarea></p>
</p>
Provincia:
<select name="aid" size="1">
<option selected value="">Seleziona Provincia</option>
<option value="">---------</option>
<?php
while ($author = mysql_fetch_array($authors)) {
$aid = $author['id'];
$aname = htmlspecialchars($author['name']);
echo "<option value='$aid'>$aname</option>\n";
}
?>
</select></p>
Citta':
<select name="cid" size="1">
<option selected value="">Seleziona Citta'</option>
<option value="">---------</option>
<?php
while ($cat = mysql_fetch_array($cats)) {
$cid = $cat['id'];
$cname = htmlspecialchars($cat['citta']);
echo "<option value='$cid'>$cname</option>\n";
}
?>
</select></p>
</p>
<input type="submit" value="SUBMIT" />
</form>
<?php endif; ?>