Visualizzazione dei risultati da 1 a 10 su 10

Discussione: domanda contatore

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    196

    domanda contatore

    Ho scritto un contatore che mi conta quante offerte sono state fatte per un determinato prodotto,quando nn ci sono offerte mi visualizza 0 ed è giusto, quando faccio l'inserimento della prima offerta mi segna sempre 0 mentre invece dopo aver fatto la seconda offerta il contatore mi segna 2..come mai nn segna uno dopo la prima offerta?
    il codice è
    <?php
    $contatore = -1;
    do
    {
    $contatore++;
    ?>
    <tr>
    <td>
    <input type="text" name="Id_off" value="<?php echo $row_num_offerte['Id_offerta']; ?>">
    </td>
    <td>
    <input name="Offerta" type="text" id="Offerta<?php echo $contatore;?">
    </td>
    </tr>
    <?php } while ($row_num_offerte = mysql_fetch_assoc($num_offerte)); ?>

    se faccio un print "$contatore";
    inizialmente mi segna 0, dopo aver inserito la prima offerta ancora 0,mentre dopo la seconda segna 2..
    sapete dirmi il perchè?
    devo fare dei controlli sul numero di offerte inserite e se nn fa il conto giusto nn riesco ad applicare i controlli

    ciao
    PHP, ASP, Javascript

  2. #2
    $contatore=0;
    while($row = mysql_fetch_array()){
    //codice
    $contatore++;
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    196
    grazie praticamente dovevo mettere il $contatore++ dopo il while,adesso modifico un po il pezzo di codice legato a questo e vedo se funge,ad occhio direi di si,al max mi rifaccio vivo

    per adesso grazie
    PHP, ASP, Javascript

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    196
    mi dà ancora lo stesso problema,l'ho riscritto in questo modo
    <?php
    $contatore=0;
    do
    {
    ?>
    <tr>
    <td> <input type="text" name="Id_off" value="<?php echo $row_num_offerte['Id_offerta']; ?>">
    </td>
    <td><input name="Offerta" type="text" id="Offerta<?php echo $contatore; ?>">
    </td>
    </tr>
    <?php
    } while ($row_num_offerte = mysql_fetch_assoc($num_offerte));
    $contatore++;
    ?>

    sotto ho l'altra parte di codice che fa il confronto e mi deve dire se posso fare altre offerte oppure no:

    <?php
    $calcola_offerte = $row_visual_asta['Num_off_max'];
    $Offerte_restanti = $calcola_offerte - $contatore;

    if ($Offerte_restanti <= 0)
    {
    echo "<input name=\"off_rimanenti\" type=\"text\" class=\"textbox\" disabled id=\"off_rimanenti\" value=\"0\">";
    }
    else
    {
    echo "<input name=\"off_rimanenti\" type=\"text\" class=\"textbox\" disabled id=\"off_rimanenti\" value=\"$Offerte_restanti\">";
    }
    ?>
    se provo a printare il contatore al primo giro mi segna già 1 e nn 0 perciò se posso inserire soltanto un'offerta mi dice già che nn posso farne perchè la sottrazione è 1-1 mentre invece dovrebbe essere 1-0

    mi sai dare una mano?
    PHP, ASP, Javascript

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    196
    mi sa che il problema è che inizialmente, quando non ci sono offerte c'è il campo text che è vuoto, e il contatore segna 0; dopo che ho fatto un'offerta il campo vuoto viene riempito con l'id dell'offerta rimanendo soltanto ancora un unico campo perciò il contatore nn si incrementa,come faccio a risolvere sto problema,è 2 ore che ci sto girando sopra!!!!!!
    PHP, ASP, Javascript

  6. #6
    ascolta tu fai:


    Codice PHP:

    $contatore=0; 


    while ($row_num_offerte = mysql_fetch_assoc($num_offerte)){
     
    ?> 
    <tr> 
    <td> <input type="text" name="Id_off" value="<?php echo $row_num_offerte['Id_offerta']; ?>"> 
    </td> 
    <td><input name="Offerta" type="text" id="Offerta<?php echo $contatore?>"> 
    </td> 
    </tr> 
    <?php 
    $contatore
    ++; 
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    196
    scusa ma nn funziona ancora...ho fatto come dici tu, togliendo il do e scrivendo subito in questo modo..

    <?php
    $contatore=0;
    while ($row_num_offerte = mysql_fetch_assoc($num_offerte)){
    ?>

    <tr>
    <td> <input type="text" name="Id_off" value="<?php echo $row_num_offerte['Id_offerta']; ?>">
    </td>
    <td><input name="Offerta" type="hidden" id="Offerta<?php echo $contatore; ?>">
    </td>
    </tr>
    <?php
    $contatore++;
    }
    ?>

    ma nn funziona,nn incrementa al primo inserimento,se faccio il secondo lo incrementa di due e poi se clicco normalmente sul bottone di refresh della pagina mi inserisce un'altra offerta..

    ciao grazie
    PHP, ASP, Javascript

  8. #8
    non riesco a capire... "inserimento"?
    inserimento di che?

    posta anche la query che fai

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    196
    ciao ho risolto in un mod opiù o meno simile a quello che mi avevi detto tu, però ho usato il "do while" perchè solo con il while nn mi predneva il primo inserimento, nel senso che quello che dovevo contare erano il numero di inserimenti poichè è settato un certo limite oltre il quale l'utente nn puù più inserire niente perciò mi serviva un contatore..ti faccio vedere come ho risolto

    <?php

    if ($row_num_offerte['Id_offerta'] == "")
    { $contatore= -1; }
    else
    { $contatore = 0; }
    do
    {
    $contatore++;
    ?>
    <tr>
    <td> <input type="hidden" name="Id_off" value="<?php echo $row_num_offerte['Id_offerta']; ?>">
    </td>
    <td><input name="Offerta" type="hidden" id="Offerta" value="<?php echo $contatore; ?>">
    </td>
    </tr>
    <?php } while ($row_num_offerte = mysql_fetch_assoc($num_offerte)); ?>

    anche in questo caso se nel database nn ci sono righe metto il contatore = -1 altrimenti a 0 e poi si incrementa giusto

    grazie per gli aiuti
    ciauz
    PHP, ASP, Javascript

  10. #10
    oddio, ma tu devi contare il numero di inserimenti nel senso che vuoi sapere quanti RECORD ci sono nel database???

    ti basta fare così_

    Codice PHP:
    $query mysql_query("SELECT * FROM tabella");

    //
    $numero_inserimenti mysql_num_rows($query);

    echo 
    "Ci sono $numero_inserimenti inserimenti";

    //qui metti il codice col while 

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.