Perfezionare un Generatore di ricette casuale [descrizione CON FOTO

  • Creatore Discussione Creatore Discussione Andryx
  • Data di inizio Data di inizio
string(80) "SELECT id,Name FROM rezepte WHERE Art LIKE 'Vorspeisen' ORDER BY RAND() LIMIT 1 " Zucchini – Piccata auf Tomatenkompott mit Nudeln und Pesto

peró mi da anche il record fuori...
 
ciao
l'errore era qui pag elabora_menu.php
if(isset($_POST['submit']) && $_POST['submit']=="Neue.Menu"){

avevo scritto (sbagliando)
if(isset($_POST['Submit']) && $_POST['Submit']=="Neue.Menu"){
cioè il submit con la esse maiuscola invece che minuscola (php è case sensitive)

o correggi nella elabora_menu o il nome del submit nel form
 
ciao
dimenticavo: togli pure l'header

per alex
Forse mi sono perso qualcosa per strada (questa discussione inizia a diventare abbastanza confusa) ma il costrutto SQL LIKE avrebbe bisogno anche degli appositi caratteri jolly per svolgere il suo compito.
un problema alla volta per carità
 
Non resta che creare le altre due sezioni per il secondo e i dessert...

devo osservare qualcosa? o posso copiare lo script 2 volte?
Naturamente cambiando i dati...

Grazie mille

Se per caso passi da Bad Dürkheim in Germania
Naturalmente sei invitato a mangiare nel mio Ristorante.
questo é il mio locale

http://www.vivaldi-restaurant.de

Grazie, grazie, grazie:fonzie:

Un saluto Andrea
 
ciao
si puoi ripetere il codice copia/incolla come hai detto cambiando i nomi delle variabili

ricordati che devi mettere la scelta dei piatti e l'if se tutti e tre selezionati

p.s.
sono stato in germania due estati fa' (lauterdorf) non so se vicino al tuo ristorante, comunque guarda che ti costa meno un webmaster di quello che mangio io:D
 
ok faccio attenzione..

Non so se avete presente il film dove asterix e obelix devono affrontare delle prove e una di queste é di mangiare tutto quello che gli porta l'oste.... bene vi servo alla Obelix!! non ne uscirete Vivi!

ciao ANDREA
 
Carissimo borgo italia,
non riesco a capire una cosa...mi é successo questo:

Finito di copiare e di aggiornare le variabili ho controllato se funzionava e tutto andava a Meraviglia ritorno su mio editor per spostare i dessert in un piano di sotto
//Per prova avevo messo i Dessert al secondo posto

1 Antipasti
2 dessert
3 Piatto Principale

perché per i Piatti Pricipali la questione era un po piú complicata:
nella Riga "Art" ce un nome composto:

Carne / PiattoPrincipale
Pesce / PiattoPrincipale
Pasta / PiattoPrincipale

Siccome voglio Tutti i piatti Pricipali Ho messo:

%PiattoPrincipale

ed ha Funzionato dopo un po
che stavo nell editor é uscito un errore del programma
chiuso e riaperto ma il piatto pricipale non restava piú fermo,

ok riscrivi, ricopia, rivedi ......Niente

ho provato di tutto

e adesso chiedo ancora l'ULTIMO Aiuto

qui i due php


pag_menu2.php
PHP:
<?php
if(!isset($_SESSION)){
session_start();
}
//l'istruzione sopra deve essere utilizzata in TUTTE le pagine che richiamano le sessioni
if(isset($_POST['submit']) && $_POST['submit']=="Neue.Menu"){//submit cambia menu
    /*
    secondo me essendo la parte che regola le sessioni un po' lunga
    la scriverei in un'altra pagina e  farei un include
    se non ti piace l'include copia il codice della pag elabora_menu.php
    qui all'interno dell'if
    */
    include_once "elabora_menu2.php";
}//fine if premuto submit
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("rezepte", $con);


//qui inserisci dati di connessione
//qui inizio il form************************
?>
<form action="<?php  htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post" name="provaMenu">
<?php
if(!isset($_SESSION['Vorspeisen'])){//la sessione non è valorizzata**** RIGA A
    $ch_Vorspeisen="";
    $f_Vor="";
    //$va_Vorspeisen=$id_portata; //riga da portata dopo select con if
}else{//la sessione è valorizzata 
    if($_SESSION['Vorspeisen']!= ""){ 
        $ch_Vorspeisen="checked";//metti a checcato il checkbox 
        $va_Vorspeisen=$_SESSION['Vorspeisen'];//valorizzi con l'id riportato dalla sessione
        $f_Vor=" id='".$va_Vorspeisen."' AND ";
    }else{ //o vuota
        $ch_Vorspeisen=""; 
        $va_Vorspeisen="";
        $f_Vor="";
    } 
} 
$result = mysql_query("SELECT id,Name FROM rezepte WHERE ".$f_Vor."Art LIKE 'Vorspeisen' ORDER BY RAND() LIMIT 1 ");  
$row = mysql_fetch_array($result);
if(!isset($_SESSION['Vorspeisen'])){$va_Vorspeisen=$row['id'];}//devo estrarre comunque l'id

//metti la tabella per impostare chek e nomi piatti
//con il check trasmetto se selezionato l'id del piatto
?>
<input name="Vorspeisen" type="checkbox" value="<?php echo $va_Vorspeisen; ?>"<?php echo $ch_Vorspeisen; ?>>
<?php

echo $row['Name'];//*** RIGA B
echo "<br>";
//*****************
//ripetere da RIGA A a RIGA B per primo piatto e dessert modificando i nomi delle variabili
//*****************

?>
<?php
if(!isset($_SESSION['Dessert'])){//la sessione non è valorizzata**** RIGA A
    $ch_Dessert="";
    $f_Des="";
    //$va_Vorspeisen=$id_portata; //riga da portata dopo select con if
}else{//la sessione è valorizzata 
    if($_SESSION['Dessert']!= ""){ 
        $ch_Dessert="checked";//metti a checcato il checkbox 
        $va_Dessert=$_SESSION['Dessert'];//valorizzi con l'id riportato dalla sessione
        $f_Des=" id='".$va_Dessert."' AND ";
    }else{ //o vuota
        $ch_Dessert=""; 
        $va_Dessert="";
        $f_Des="";
    } 
} 
$result2 = mysql_query("SELECT id,Name FROM rezepte WHERE ".$f_Des."Art LIKE 'Dessert' ORDER BY RAND() LIMIT 1 ");  
$row = mysql_fetch_array($result2);
if(!isset($_SESSION['Dessert'])){$va_Dessert=$row['id'];}//devo estrarre comunque l'id

//metti la tabella per impostare chek e nomi piatti
//con il check trasmetto se selezionato l'id del piatto
?>
<input name="Dessert" type="checkbox" value="<?php echo $va_Dessert; ?>"<?php echo $ch_Dessert; ?>>
<?php

echo $row['Name'];//*** RIGA B
echo "<br>";
//*****************
//ripetere da RIGA A a RIGA B per primo piatto e dessert modificando i nomi delle variabili
//*****************

?>
<?php
if(!isset($_SESSION['%Hauptgang'])){//la sessione non è valorizzata**** RIGA A
    $ch_Hauptgang="";
    $f_Hau="";
    //$va_Vorspeisen=$id_portata; //riga da portata dopo select con if
}else{//la sessione è valorizzata 
    if($_SESSION['%Hauptgang']!= ""){ 
        $ch_Hauptgang="checked";//metti a checcato il checkbox 
        $va_Hauptgang=$_SESSION['%Hauptgang'];//valorizzi con l'id riportato dalla sessione
        $f_Hau=" id='".$va_Hauptgang."' AND ";
    }else{ //o vuota
        $ch_Hauptgang=""; 
        $va_Hauptgang="";
        $f_Hau="";
    } 
} 
$result3 = mysql_query("SELECT id,Name FROM rezepte WHERE ".$f_Hau."Art LIKE '%Hauptgang' ORDER BY RAND() LIMIT 1 ");  
$row = mysql_fetch_array($result3);
if(!isset($_SESSION['%Hauptgang'])){$va_Hauptgang=$row['id'];}//devo estrarre comunque l'id

//metti la tabella per impostare chek e nomi piatti
//con il check trasmetto se selezionato l'id del piatto
?>
<input name="Hauptgang" type="checkbox" value="<?php echo $va_Hauptgang; ?>"<?php echo $ch_Hauptgang; ?>>
<?php

echo $row['Name'];//*** RIGA B
echo "<br>";
//*****************
//ripetere da RIGA A a RIGA B per primo piatto e dessert modificando i nomi delle variabili
//*****************

?>

<input name="submit" value="Neue.Menu" type="submit">
</form>

e

elabora_menu2.php
PHP:
<?php
//se usi l'include_once NON mettere altre intestazioni a quasta pagina
//parte per l'antipasto da ripetere uguale per gli altri piatti
$fisso_ant=$_POST['Vorspeisen'];//il valore è vuoto o con l'id 
if($fisso_ant==""){//non è stato fissato 
    unset($_SESSION['Vorspeisen']);//annullo la sessione dell'antipasto 
    //$f_ant="";//metto la condizione a vuota nella pag precedente
}else{//è stato fissato e quindi contiene l'id dell'antipasto 
    $_SESSION['Vorspeisen']=$fisso_ant;//mantengo l'id per la prossima scelta 
    //$f_ant=" id='".$fisso_ant."' AND "; //creo una condizione fissa per la query select nella pag precedente
}
$fisso_ant=$_POST['Dessert'];//il valore è vuoto o con l'id 
if($fisso_ant==""){//non è stato fissato 
    unset($_SESSION['Dessert']);//annullo la sessione dell'antipasto 
    //$f_ant="";//metto la condizione a vuota nella pag precedente
}else{//è stato fissato e quindi contiene l'id dell'antipasto 
    $_SESSION['Dessert']=$fisso_ant;//mantengo l'id per la prossima scelta 
    //$f_ant=" id='".$fisso_ant."' AND "; //creo una condizione fissa per la query select nella pag precedente
}  
$fisso_ant=$_POST['%Hauptgang'];//il valore è vuoto o con l'id 
if($fisso_ant==""){//non è stato fissato 
    unset($_SESSION['%Hauptgang']);//annullo la sessione dell'antipasto 
    //$f_ant="";//metto la condizione a vuota nella pag precedente
}else{//è stato fissato e quindi contiene l'id dell'antipasto 
    $_SESSION['%Hauptgang']=$fisso_ant;//mantengo l'id per la prossima scelta 
    //$f_ant=" id='".$fisso_ant."' AND "; //creo una condizione fissa per la query select nella pag precedente
}
/*****************************************************************
ripetere per gli altri due piatti

******************************************************************/
/* NOTA:
per fare le prove ti conviene prima mettere fisso anche la scelta carne..., poi
devi mettere anche la parte che riguarda carne, pesce...
*/
// forse l'header (o lariga echo "<meta..." ) non serve
//prova prima poi eventualmente commenti l'header 
//header(location="pag_menu.php");
//se l'header di da errore sostituiscila con l'istruzione sotto
//echo "<meta http-equiv='Refresh' content='0; URL=pag_menu2.php'>";
?>

:dipser:

Non posso aver Dimenticato nessuna virgola o punto ho cambiato solo le variabili e Gli antipasti e i Dessert Funzionano......
Ha a che fare con le sessioni? anche quelle copiate e rifatte piú volte
ok spengo e riaccendo il computer.....


Andrea
 
ciao
ad una prima occhiata (ho guardato elabora_menu2) non hai cambiato nei vari if

$fisso_ant=$_POST['Dessert'];
in
$fisso_des=$_POST['Dessert'];
e
$fisso_ant=$_POST['%Hauptgang'];
if($fisso_ant==""){
in
$fisso_hau=$_POST['%Hauptgang'];
if($fisso_hau==""){

verifica di fare la stessa correzione anche in pag_menu2


ad ogni piatto deve corrispondere una sua variabile, sessione e nome di campo di input

oggi sono occupato, comunque domani ci do un occhio meglio (ci tengo al pasto...non porto alessandro è troppo piccolo)
 
OK errore scoperto!!!

era il nome dell imput

da:
<input name="Hauptgang"
a
<input name="%Hau%"

Funziona....e basta

nella query ho messo anche %Hau%

Perche ho scperto un errore nella banca dati cioé quando mando le ricette dentro nel valore delle portate ho scritto:

Carne
Fleisch / Hautpgang

Pesce
Fisch / Hauptgang

Ho invertito le lettere :mad:

Ma ho risolto con %Hau%

Per questo mi Veniva sempre e solo pesce fuori!

Ciao

Grazie:fonzie:
 
Ciao Alessandro,

se hai voglia di farti da Brlino ancora 600 km ca. allora mi trovi!

Ciao e Buon Natale a Tutti!
 
Ci Risiamo

Carissimo borgo italia mi serve ancora il tuo aiuto..

Mi é successo questo:

Un virus é entrato nel computer e ho dovuto reinstallare il sistema ma prima ho salvato la db e gli script copiandoli .

devo aggiungere che appena lo script funzionava ho fatto una copia prima di formattarlo con html per sicurezza.

ho reistallato tutto ma quando ho controllato mi é uscito questo
test.jpg


nella prima parte della foto si vede l'errore che mi da, naturalmente i piatti non gli posso bloccare. potrebbe essere la configurazione di php.ini o con il server xitami?

seconda parte é la copia dello script. qui mi da questo errore solo se i piatti non sono bloccati. ma si bloccano!

lo script formattato é anche in internet sotto ma qui non mi da errori solo che non funziona.....

http://www.vivaldi.host56.com/

e la copia in Internet Funziona

http://www.vivaldi.host56.com/pag_menu_x1.php

Che faccio? mi sa che devo riscrivere l'html....

e che impostazione devo cambire in php.ini?


ciao Andrea
 

Discussioni simili