Back to top

Autore Topic: Domande riguardanti componenti  (Letto 867 volte)

Offline Pestilence

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Domande riguardanti componenti
« il: 14 Feb 2008, 11:32:55 »
Salve sto tentando in tutti i modi di creare un componente per joomla. Fino ad ora sono riuscito a creare l'installazione del componente stesso con persino l'aggiunta della creazione del DB durante l'installazione ( cosa assai semplice da fare ). Ma ora ho un problema riguardante il richiamo del DB (quindi diciamo riguardante Joomla ) e un problema riguardante il sorgente PHP.

Per quanto riguarda il problema del DB il fatto è questo:
io faccio richiamare i valori direttamente da una tabella prefissata, ma durante l'installazione del componente joomla se noi inseriamo "#__nuovocomponente" il risultato dell'installazione sarà che nel Database "pippo" vi verrà creata una tabella denominata come prefisso quello imposto all'inizio a joomla durante l'installazione di norma "jos_" e di conseguenza quel che ho inserito io quindi "nuovocomponente" per un risultato totale di "jos_nuovocomponente". Fino a qui diciamo tutto ok. Ma ora viene il bello e il difficile, coem faccioa  richiamare in php la stringa "#__nuovocomponente" quale è la funzione da richiamare ? perchè per come ho impostato io il codice il mio richiamo è statico e non dinamico.

Il problema numero 2 è il seguente:

il component che sto creando è per fare una ricerca di farmacie da un DB che già ho. Per quanto riguarda la ricerca tutto va alla stragrande, se non fosse che se faccio richiamare dal form di ricerca un'altra pagina Es. :

Ricerca.php (pagina dove immetto di dati di ricerca)
-------> Clicco su Cerca ---------->
Risultati.php (qui i risultati della ricerca)

in questo modo funziona e pure tranquillamente, ma il problema è che la pagina Ricerca.php si immette nel frame di joomla, ma quando vado a richiamare Risultati.php si apre una pagina completamente nuova e quindi addio sito o per meglio dire addio frame, benvenuta pagina singola.

qui sotto vi posterò il codice che ho immesso è un po' complesso da capire xkè sono neofito della programmazione php e di conseguenza potrebbero esserci delle incomprensioni nella lettura del codice.

Offline Pestilence

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re: Domande riguardanti componenti
« Risposta #1 il: 14 Feb 2008, 11:36:20 »
Questo è il codice php della pagina per intero con risultati e ricerca insieme. Questa genera anche un errore iniziale perchè non trova i dati "post" e quindi mi da un errore il php:

Codice: [Seleziona]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Ricerca Farmacie</title>
<style type="text/css">
<!--
.Stile1 {
color: #00CC00;
font-weight: bold;
font-size: large;
}
-->
</style>
</head>

<body>

<?php

defined'_VALID_MOS' ) or die( 'Restricted access' );
?>

<form action="index.php" method="post">
<input type="hidden" name="option" value="com_ricercafarmacie" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid?>" />
<input type="hidden" name="ok" value="1" />
<p class="Stile1"> Cerca farmacie con i seguenti criteri:</p>
<label> Nome Farmacia: <input type="text" name="denominazione" />
</label><br />
<label> Indirizzo:
<input type="text" name="indirizzo" />
</label>
<br />
<label>CAP:
<input type="text" name="cap" />
</label>
<label> Città:
<select name="citta" size="1">
  <option selected value="">Qualsiasi Città</option>
  <option value="ACILIA">ACILIA</option>
  <option value="ACILIA PONTELADRONE">ACILIA PONTELADRONE</option>
  <option value="CASTELVERDE">CASTELVERDE</option>
  <option value="CESANO">CESANO</option>
  <option value="GIARDINI DI CORCOLLE">GIARDINI DI CORCOLLE</option>
  <option value="LIDO DI OSTIA">LIDO DI OSTIA</option>
  <option value="LUNGHEZZA">LUNGHEZZA</option>
  <option value="MORENA">MORENA</option>
  <option value="MORENA - ROMA">MORENA - ROMA</option>
  <option value="OSTERIA NUOVA - ROMA">OSTERIA NUOVA - ROMA</option>
  <option value="OSTIA ANTICA">OSTIA ANTICA</option>
  <option value="PONTE GALERIA - ROMA">PONTE GALERIA - ROMA</option>
  <option value="ROMA">ROMA</option>
  <option value="ROMA - ACILIA">ROMA - ACILIA</option>
  <option value="ROMA - AXA">ROMA - AXA</option>
  <option value="ROMA - BORGATA FINOCCHIO">ROMA - BORGATA FINOCCHIO</option>
  <option value="ROMA - CASALPALOCCO">ROMA - CASALPALOCCO</option>
  <option value="ROMA - CASE ROSSE">ROMA - CASE ROSSE</option>
  <option value="ROMA - CECCHIGNOLA">ROMA - CECCHIGNOLA</option>
  <option value="ROMA - COLLE DI MEZZO">ROMA - COLLE DI MEZZO</option>
  <option value="ROMA - DIVINO AMORE">ROMA - DIVINO AMORE</option>
  <option value="ROMA - EUR">ROMA - EUR</option>
  <option value="ROMA FIDENE">ROMA (FIDENE)</option>
  <option value="ROMA - LAURENTINO 38">ROMA - LAURENTINO 38</option>
  <option value="ROMA - LOC. TRE PINI">ROMA - LOC. TRE PINI</option>
  <option value="ROMA - MOSTACCIANO">ROMA - MOSTACCIANO</option>
  <option value="ROMA - SPINACETO">ROMA - SPINACETO</option>
  <option value="ROMA - TORRINO SUD">ROMA - TORRINO SUD</option>
  <option value="ROMA - TOR DE CENCI">ROMA - TOR DE CENCI</option>
  <option value="ROMA - TRIGORIA">ROMA - TRIGORIA</option>
  <option value="ROMA - VIGNA MURATA">ROMA - VIGNA MURATA</option>
  <option value="TORRINO - ROMA">TORRINO - ROMA</option>
  <option value="TORRINO NORD - ROMA">TORRINO NORD - ROMA</option>
</select>
</label>
<br />
<label>ASL :
<select name="usl" size="1">
<option selected value=""></option>
<option value="ROMA A">ROMA A</option>
<option value="ROMA B">ROMA B</option>
<option value="ROMA C">ROMA C</option>
<option value="ROMA D">ROMA D</option>
<option value="ROMA E">ROMA E</option>
</select></label>
<label>Circoscrizione:
<select name="circos" size="1">
  <option selected value=""></option>
  <option value="1">I Ciroscrizione</option>
  <option value="2">II Ciroscrizione</option>
  <option value="3">III Ciroscrizione</option>
  <option value="4">IV Ciroscrizione</option>
  <option value="5">V Ciroscrizione</option>
  <option value="6">VI Ciroscrizione</option>
  <option value="7">VII Ciroscrizione</option>
  <option value="8">VIII Ciroscrizione</option>
  <option value="9">IX Ciroscrizione</option>
  <option value="10">X Ciroscrizione</option>
  <option value="11">XI Ciroscrizione</option>
  <option value="12">XII Ciroscrizione</option>
  <option value="13">XIII Ciroscrizione</option>
  <option value="14">XIV Ciroscrizione</option>
  <option value="15">XV Ciroscrizione</option>
  <option value="16">XVI Ciroscrizione</option>
  <option value="17">XVII Ciroscrizione</option>
  <option value="18">XVIII Ciroscrizione</option>
  <option value="19">XIX Ciroscrizione</option>
  <option value="20">XX Ciroscrizione</option>
</select>
</label>
<br />
<label>Defribrillatore:
<select name="defri" size ="1">
<option selected value="">Tutte</option>
<option value="SI">SI</option>
<option value="NO">NO</option>
</select></label>
<label> Servizio Notturno:
<select name="SERV_NOTTE" size ="1">
  <option selected value="">Tutte</option>
  <option value="SI">SI</option>
  <option value="NO">NO</option>
</select>
</label>
<br />
<br />
<input type="submit" value="Cerca" /><input type="reset" value="Reimposta" />
</form>
<?php 

defined
'_VALID_MOS' ) or die( 'Accesso diretto non consentito' );

$dbcnx = @mysql_connect('localhost','root','');
if (!$dbcnx
{
exit('<p> Impossibile connettersi al db, contattare un amministratore</p>');
}
if (!@mysql_select_db('prova'))
{
exit('<p> impossibile connettersi alla tabella, contattare un amministratore</p>');
}

$select 'SELECT Generalita, Denominazione, Indirizzo, Telefonofa, Circoscriz, USL_ALFA, CITTA, CAP, SERV_NOTTE, SOSP_NOTTE, NONSTOP, RIDUZ_FER, ZONA, SOSP_TURNO, RIFERIMENT, COOP, NONSTOP_SABATO, DEFRIBRILLATORE';
$from ' FROM lol';
$where ' WHERE 1=1';

$nome $_POST['denominazione'];
if ($nome !='') {
$where .= " AND Denominazione LIKE '%$nome%'";
}
$citta $_POST['citta'];
if ($citta !='') {
$where .= " AND CITTA='$citta'";
}
$indirizzo $_POST['indirizzo'];
if ($indirizzo != '') {
$where .= " AND Indirizzo LIKE '%$indirizzo%'";
}
$cap $_POST['cap'];
 if (
$cap != '') {
 
$where .= " AND CAP='$cap'";
}
$sernotte $_POST['SERV_NOTTE'];
if ($sernotte != ''
{
$where .= " AND SERV_NOTTE='$sernotte'";
}
$usl $_POST['usl'];
if ($usl != ''
{
$where .= " AND USL_ALFA='$usl'";
}
$circos $_POST['circos'];
if ($circos != ''
{
$where .= " AND CIRCOSCRIZ='$circos'";
}
$defri $_POST['defri'];
if ($defri != ''
{
$where .= " AND DEFRIBRILLATORE='$defri'";
}
?>


<table width="100%" border="2" align="center" bordercolor="#0099FF" bgcolor="#FFFFFF">

<tr>
  <th width="60%">Farmacia</th>
  <th width="40%">Informazioni Aggiuntive </th>
</tr>
<?php
$risultati 
= @mysql_query($select $from $where);
if (!@risultati) {
echo '</table>';
exit('<p> Errore numero ' mysql_error() . '</p>');
}

while($row mysql_fetch_array($risultati)) {
echo "<tr valign='top'>\n";

echo "<td>" $row['Denominazione'] . "<br />"  $row['Indirizzo'] . "<br />" $row['CAP'] . "   " $row['CITTA'] . "<br />" $row['Telefonofa'] . "<td>Municipio : " $row['Circoscriz'] . "<br />ASL : " $row['USL_ALFA'] ."<br />Defribrillatore : " $row['DEFRIBRILLATORE'] . "<br />Servizio Notturno : " $row['SERV_NOTTE'] . "</td>";

}
?>

</table>
</body>
</html>

In allegato il file XML dell'installazione del component.

[allegato eliminato da un amministratore]
« Ultima modifica: 14 Feb 2008, 11:39:29 da Pestilence »

 



Web Design Bolzano Kreatif