Rezultate 1 la 5 din 5

Subiect: Update database

  1. #1
    Avatarul lui Buta Paul
    Buta Paul este deconectat Membru SeoPedia
    Reputatie:
    34
    Data înscrierii
    7th February 2008
    Locaţie
    Cluj Napoca
    Vârstă
    36
    Posturi
    371
    Putere Rep
    34


    Implicit Update database

    Salut. Am o mica problema cu update-ul bazei de date.
    Ca sa fiu mai pe inteles. Am o baza de date, cu tabele TABELA unde am 200 de inregistrari, iar fiecare inregistrare are status = 0.
    Acum vine faza unde trebuie sa fac update la tabela cu statusul 0 ( ramane asa ), respectiv 1, iar aceasta imi face update, dupa ce un script mic imi verifica statusul lor.
    Asta este pentru un site cu servere de jocuri si vreau sa le verific non stop si sa le fac update, cand este online/offline.
    Am incercat cu, codul
    Cod PHP:
    $select mysql_query("SELECT ip from servere");
    WHILE (
    $row mysql_fetch_array($select)){
            
    $ip $row['ip'];
        
    $status $data['status'];
        
    if (!
    $status == 1){
    $update mysql_query("UPDATE servere SET status ='0' WHERE ip ='".$ip."'");
    }
    else{
    $update =mysql_query("UPDATE servere SET status =1 WHERE ip ='".$ip."'");

    Problema mea e, ca nu imi ia decat o inregistrare din baza de date, adica prima. Cum pot sa le extrag pe toate deodata si sa le faca update, cu statusul respectiv?
    Multumesc

  2. #2
    Avatarul lui deadworldisee
    deadworldisee este deconectat Membru SeoPedia
    Reputatie:
    36
    Data înscrierii
    6th April 2008
    Locaţie
    iasi
    Vârstă
    39
    Posturi
    1.034
    Putere Rep
    36


    1 out of 1 members found this post helpful.

    Implicit

    in primul rand foloseste mysql_fetch_assoc in loc la ..._array ( pt performanta)
    in al doilea rand if(!status==1) este gresit, probabil vroiai sa pui if($status!=1) .In PhP nu folosi variabile gen $status cu val 0 sau 1 pentru ca in ifuri sau alte functii de conditii acestea pot fi tratate ca tipuri booleane
    Cum ai scris tu intotdeauna o sa intre pe else.

  3. #3
    Avatarul lui Netul
    Netul este deconectat Ambasador
    Reputatie:
    49
    Data înscrierii
    5th January 2006
    Locaţie
    Iasi
    Vârstă
    47
    Posturi
    1.068
    Putere Rep
    49


    1 out of 1 members found this post helpful.

    Implicit

    Cod PHP:
    <?
    $select 
    mysql_query("SELECT ip, status from servere");
    WHILE (
    $row mysql_fetch_row($select))
    {
        
    $ip $row[0];
        
    $status $row[1];
        
       if (
    $status == 0)
          {
           
    $update mysql_query("UPDATE servere SET status = '0' WHERE ip = '$ip' LIMIT 1");
          }
      else
          {
           
    $update mysql_query("UPDATE servere SET status = '1' WHERE ip = '$ip' LIMIT 1");
          }  
    }
    ?>

  4. #4
    Avatarul lui ant7
    ant7 este deconectat Membru SeoPedia
    Reputatie:
    29
    Data înscrierii
    10th September 2010
    Locaţie
    bucuresti / constanta
    Posturi
    91
    Putere Rep
    29


    Implicit

    din ce am inteles, $status este setat de o functie care verifica statusul serverului si iti returneaza starea curenta a acestuia. dar in loop-ul tau vad ca ai $status=$data['status']; ceea ce inseamna ca statusul este preluat dintr-o alta variabila ($data), care este setata in afara loop-ului (deci fara a lua in calcul serverul curent) si care intotdeauna va avea aceeasi valoare.

  5. #5
    Avatarul lui Buta Paul
    Buta Paul este deconectat Membru SeoPedia
    Reputatie:
    34
    Data înscrierii
    7th February 2008
    Locaţie
    Cluj Napoca
    Vârstă
    36
    Posturi
    371
    Putere Rep
    34


    Implicit

    Da, asa este. Imi cer scz ca nu m-am exprimat mai corect, dar era cam tarziu! Inca nu am reusit sa fac update-ul la fiecare server in parte, pentru ca si atunci cand un server este offline, tot imi introduce status = 1 ( server online ).
    Deci eu am scriptul complet asa

    Cod PHP:
    include('Servers.php');
    $select mysql_query("SELECT ip, status from servere");
    WHILE (
    $row mysql_fetch_row($select))
    {
           
    $ip $row[0];
        
    $onoff =     array('server 1' => array('cs'''.$ip.''),);

        
    $gq = new Servers();
        
    $gq->addServers($onoff);
        
    $gq->setOption('timeout'200);
        
    $gq->setFilter('normalise');
        
    $gq->setFilter('sortplayers''gq_ping');
        
    $results $gq->requestData();
        foreach (
    $results as $id => $data)
        
    $gqs = array('gq_online''gq_address''gq_port''gq_prot''gq_type');
        
    $online $data['gq_online'];
       
       if (
    $online == 0)
          {
           
    $update mysql_query("UPDATE servere SET status = '0' WHERE ip = '$ip' LIMIT 1");
          }
      else
          {
           
    $update mysql_query("UPDATE servere SET status = '1' WHERE ip = '$ip' LIMIT 1");
          }  

    Statisticile pentru un singur server, nu e problema, imi returneaza rezultatul corect, dar la o lista de servere, la care vreau sa le fac update, imi returneaza toate statusul 1, cu toate ca unele sunt offline!
    Ultima modificare făcută de Gabriel Puscuta; 17th January 2011 la 14:01.

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. Răspunsuri: 11
    Ultimul Post: 13th August 2010, 21:01
  2. Soft database
    De doro în forumul Continut web
    Răspunsuri: 18
    Ultimul Post: 18th December 2009, 11:05
  3. MySQL Database vbulletin
    De giovanni12345 în forumul Server side
    Răspunsuri: 1
    Ultimul Post: 13th May 2009, 07:42
  4. Alt update?
    De Ioan Margineanu în forumul Google
    Răspunsuri: 53
    Ultimul Post: 15th May 2007, 23:57
  5. Ibl Update
    De Cristian Mezei în forumul Google
    Răspunsuri: 0
    Ultimul Post: 29th November 2005, 00:00

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •