Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Problema php e Mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    46

    Problema php e Mysql

    Salve a tutti..Ho un problema con il mio script php/mysql.
    Creo questa tabella nel mio DB
    codice:
    CREATE TABLE Prova (
      id int(25) NOT NULL auto_increment,
      descrizione varchar(255) NOT NULL,
      cod int(25) NOT NULL,
      pezzi int(25) NOT NULL,
      PRIMARY KEY  (id)
    ) TYPE=MyISAM COMMENT='prova script';
    Vorrei fare in modo che se "pezzi" e' maggiore di zero lo script va a vedere la variabile nel db
    e fa apparire l'immagine verde.
    Se e' uguale a zero allora appare l'immagine rossa.
    Questo e' il codice del file php
    codice:
    <?
    
    include 'db.php';
    
    $sql_cod_check = mysql_query("SELECT cod FROM Prova WHERE cod='$cod'");
    $cod_check = mysql_num_rows($sql_cod_check);
    
    $sql_pezzi_check = mysql_query("SELECT pezzi FROM Prova WHERE pezzi='$pezzi'");
    $pezzi_check = mysql_num_rows($sql_pezzi_check);
    
    if ($cod== 1 & $pezzi > 0)
    	echo "[img]immagini/Verde.png[/img]</img>";
    else
    	echo "[img]immagini/Rosso.png[/img]</img>";
    
    ?>
    Vi prego ditemi dove sbaglio e aiutatemi a risolverlo .. grazie davvero

  2. #2
    usa il tag php "normale" <?php

    poi se guardi bene utilizzi dei nomi di variabile per salvare i dati di mysql_num_rows() e poi ne usi altri (nomi) per fare il confronto con la IF. Se vuoi mettere i due risultati in AND (&&) logico ci vogliono due &&. Usa anche la segnalazione di errore dopo le query... non si sa mai.

    occhio:

    $cod_check = mysql_num_rows($sql_cod_check);
    $pezzi_check = mysql_num_rows($sql_pezzi_check);

    if ($cod== 1 & $pezzi > 0)

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    46
    Oggetto nel db
    codice:
    id 	descrizione 	cod 	pezzi
    --------------------------------
    1 	oggetto prova 	1 	0
    Mio file .php
    codice:
    <?php
    
    include 'db.php';
    
    $cod_check = $_POST['cod'];
    $descrizione_check = $_POST['descrizione'];
    $pezzi_check = $_POST['pezzi'];
    
    $risultato = mysql_query("SELECT * FROM Prova");
    $num_righe = mysql_num_rows($risultato);
    
    echo "$num_righe Righe 
    ";
    
    $sql_cod_check = mysql_query("SELECT cod FROM Prova WHERE cod='$cod'");
    $cod_check = mysql_num_rows($sql_cod_check);
    
    $sql_descrizione_check = mysql_query("SELECT descrizione FROM Prova WHERE descrizione='$descrizione'");
    $descrizione_check = mysql_num_rows($sql_descrizione_check);
    
    $sql_pezzi_check = mysql_query("SELECT pezzi FROM Prova WHERE pezzi='$pezzi'");
    $pezzi_check = mysql_num_rows($sql_pezzi_check);
    
    echo "COD: $cod 
    ";
    echo "SQL DESCRIZIONE: $descrizione 
    ";
    echo "SQL PEZZI : $pezzi 
    
    ";
    
    echo "SQL COD: $sql_cod_check 
    ";
    echo "SQL DESCRIZIONE: $sql_descrizione_check 
    ";
    echo "SQL PEZZI : $sql_pezzi_check 
    
    ";
    
    echo "COD: $cod_check 
    ";
    echo "DESCRIZIONE: $descrizione_check 
    ";
    echo "PEZZI : $pezzi_check 
    
    ";
    
    if ($cod_check == 1 && $pezzi_check > 0)
    	echo "[img]immagini/Verde.png[/img]</img>";
    else
    	echo "[img]immagini/Rosso.png[/img]</img>";
    
    ?>
    1 Righe
    COD:
    SQL DESCRIZIONE:
    SQL PEZZI :

    SQL COD: Resource id #5
    SQL DESCRIZIONE: Resource id #6
    SQL PEZZI : Resource id #7

    COD: 0
    DESCRIZIONE: 0
    PEZZI : 1

    Questo e' il codice che mi vien fuori quando uso questo nel file .php
    xche' non va'!!! =(

  4. #4
    perche' fai un pastrocchio.

    dove prendi le variabili $cod, $descrizione, $pezzi???

    echo "COD: $cod
    ";
    echo "SQL DESCRIZIONE: $descrizione
    ";
    echo "SQL PEZZI : $pezzi

    ";


    le seguenti variabili contengono il resource id# e quindi stampano correttamente quello che chiedi

    echo "SQL COD: $sql_cod_check
    ";
    echo "SQL DESCRIZIONE: $sql_descrizione_check
    ";
    echo "SQL PEZZI : $sql_pezzi_check

    ";


    tutto qui....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    46
    Si ma nn mi riferivo a quelle..infatti quello che hai scritto tu l'ho scritto sotto...ho provato tutte e tre le ipotesi per provare cosi' cosa mi restituiva...ma nn mi restitusce quello corretto nemmeno come mi hai scritto tu...il file .php completo e' quello che ho scritto nel codice...elimina la parte delle variabili che mi hai scritto tu...il codice nn funziona lo stesso e non fa' quello che voglio...xfavore visto che sono fuso..mi potresti scrivere il codice come lo scriveresti tu tanto son due righe..xche' ho provato di tutto ma il db nn mi restituisce quello che voglio... =( thanks

  6. #6
    Originariamente inviato da CIMO2
    Si ma nn mi riferivo a quelle..infatti quello che hai scritto tu l'ho scritto sotto...ho provato tutte e tre le ipotesi per provare cosi' cosa mi restituiva...ma nn mi restitusce quello corretto nemmeno come mi hai scritto tu...il file .php completo e' quello che ho scritto nel codice...elimina la parte delle variabili che mi hai scritto tu...il codice nn funziona lo stesso e non fa' quello che voglio...xfavore visto che sono fuso..mi potresti scrivere il codice come lo scriveresti tu tanto son due righe..xche' ho provato di tutto ma il db nn mi restituisce quello che voglio... =( thanks
    guarda che io non ho scritto alcun codice se non ripetuto quello scritto da te per evidenziare i tuoi errori. Analizza quello che e' stato scritto.

    Se invece vuoi che ti riscriva lo script in modo corretto.... dillo. Hai chiesto che ti si indichino gli errori e i suggerimenti per risolverli. Li hai avuti entrambi.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    non mi sembra che esista il tag di chiusura per img... :master:

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    46
    Ecco il codice del mio file
    "ho provato sia con "$sql_cod_check" che con "cod_check"
    ecco xche' ci sono tutti e due ma niente....non funziona
    codice:
    <?php
    
    include 'db.php';
    
    $sql_descrizione_check = mysql_query("SELECT descrizione FROM Prova WHERE descrizione='$descrizione'");
    $descrizione_check = mysql_num_rows($sql_descrizione_check);
    
    $sql_cod_check = mysql_query("SELECT cod FROM Prova WHERE cod='$cod'");
    $cod_check = mysql_num_rows($sql_cod_check);
    
    $sql_pezzi_check = mysql_query("SELECT pezzi FROM Prova WHERE pezzi='$pezzi'");
    $pezzi_check = mysql_num_rows($sql_pezzi_check);
    
    echo "SQL DESCRIZIONE: $sql_descrizione_check 
    ";
    echo "SQL COD: $sql_cod_check 
    ";
    echo "SQL PEZZI : $sql_pezzi_check 
    
    ";
    
    echo "DESCRIZIONE: $descrizione_check 
    ";
    echo "COD: $cod_check 
    ";
    echo "PEZZI : $pezzi_check 
    
    ";
    
    if ($sql_cod_check == 1 && $sql_pezzi_check > 0)
    	echo "[img]immagini/Verde.png[/img]</img>";
    else
    	echo "[img]immagini/Rosso.png[/img]</img>";
    
    ?>
    E questo e' il db
    codice:
    -- phpMyAdmin SQL Dump
    -- version 2.11.4
    -- http://www.phpmyadmin.net
    --
    -- Host: localhost
    -- Generato il: 03 Mag, 2008 at 08:53 AM
    -- Versione MySQL: 5.0.51
    -- Versione PHP: 5.2.5
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    --
    -- Database: `sql140688_1`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Struttura della tabella `Prova`
    --
    
    CREATE TABLE IF NOT EXISTS `Prova` (
      `id` int(25) NOT NULL auto_increment,
      `descrizione` varchar(255) NOT NULL,
      `cod` int(25) NOT NULL,
      `pezzi` int(25) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='prova script' AUTO_INCREMENT=2 ;
    
    --
    -- Dump dei dati per la tabella `Prova`
    --
    
    INSERT INTO `Prova` (`id`, `descrizione`, `cod`, `pezzi`) VALUES
    (1, 'oggetto prova', 1, 0);
    E questo e' quello che mi stampa
    codice:
    SQL DESCRIZIONE: Resource id #4
    SQL COD: Resource id #5
    SQL PEZZI : Resource id #6
    
    DESCRIZIONE: 0
    COD: 0
    PEZZI : 1 
    
    img -> Rosso.png
    Visto ke sto' fondendo mi potresti scrivere queste due righe di codice in modo giusto please? cosi' almeno vedo quello ke funziona e capisco dove ho sbagliato xche' nn ci sto' a capi' piu' niente =( grazie

  9. #9
    precisiamo:
    codice:
    echo "SQL DESCRIZIONE: $sql_descrizione_check 
    ";
    echo "SQL COD: $sql_cod_check 
    ";
    echo "SQL PEZZI : $sql_pezzi_check 
    
    ";
    le variabili qui menzionate contengono il resource id# della query passato dalla funzione mysql_query() e NON la query SQL eseguita.

    quindi se vuoi stampare la query sql eseguita devi mettere la stringa SQL in una variabile e stampare quella e non il resource id#.

    Ora, a prescindere da quello che vuoi ottenere con tre query, se vuoi stampare i tuoi risultati dovresti fare:

    codice:
    <?php
    
    include 'db.php';
    
    $query_descrizione = "SELECT descrizione 
                          FROM Prova 
                          WHERE descrizione='$descrizione'";
    $sql_descrizione_check = mysql_query($query_descrizione) or die(mysql_error());
    $descrizione_check = mysql_num_rows($sql_descrizione_check);
    
    $query_cod = "SELECT cod 
                  FROM Prova 
                  WHERE cod='$cod'";
    $sql_cod_check = mysql_query($query_cod) or die(mysql_error());
    $cod_check = mysql_num_rows($sql_cod_check);
    
    $query_pezzi = "SELECT pezzi 
                    FROM Prova 
    		WHERE pezzi='$pezzi'";
    $sql_pezzi_check = mysql_query($query_pezzi) or die(mysql_error());
    $pezzi_check = mysql_num_rows($sql_pezzi_check) ;
    
    echo "SQL DESCRIZIONE: $query_descrizione 
    ";
    echo "SQL COD: $query_cod 
    ";
    echo "SQL PEZZI : $sql_pezzi 
    
    ";
    
    echo "DESCRIZIONE: $descrizione_check 
    ";
    echo "COD: $cod_check 
    ";
    echo "PEZZI : $pezzi_check 
    
    ";
    
    if ($cod_check == 1 && $pezzi_check > 0)  {
    	echo "[img]immagini/Verde.png[/img]";
        }  else  {
    	        echo "[img]immagini/Rosso.png[/img]";
    	     }
    
    ?>
    Se ti da qualche errore di sintassi controlla che manchi nulla. L'ho scritto qui sul thread che non e' il max come editor.

    dai anche e sopratutto una lettura a queste guide:

    http://database.html.it/guide/leggi/...mysql-pratica/
    http://database.html.it/guide/leggi/87/guida-mysql/


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    46
    Ok ho capito e risolto....thanks ma mi potresti dire un'ultima cosa?
    se io ho questo nel php
    codice:
    if ($disponibilita == 0)
    	//$prova=0;
    	questa dovrebbe diventare la variabile prova-> echo "non disponibile";
    if ($disponibilita == 1)
    	$prova=1;
    Come faccio a fare stampare l' echo nella tabella che ho creato sempre in questo file php?
    codice:
    echo "<div id=wb_Table1 style=position:absolute;left:0px;top:0px;width:468px;height:240px;z-index:0 align=left>
    <table width=100% border=1 cellpadding=0 cellspacing=0 bordercolor=#000000 id=Table1>
    <tr>
    <td align=left valign=top width=154 height=50>$cod</td>
    <td align=left valign=top width=312 height=50> "-> "$prova" <-" </td>
    </tr>
    <tr>
    <td align=left valign=top width=154 height=188></td>
    <td align=left valign=top width=312 height=188>$descrizione</td>
    </tr>
    </table></div>";

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.