Szerző Téma: MySQL kiolvasás  (Megtekintve 1084 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL kiolvasás
« Dátum: 2014. március 13. - 23:53:28 »
0 Show voters
Sziasztok!
Kitöröltem a meglévõ sorokat a táblából,és mégis amikor egy újat szúrok be,akkor úgy érzékeli,hogy ott vannak a sorok,és a számlálást tovább folytatni.Mi lehet a probléma.
Másik:
 
new row2[256];
               new field2[17][24];
               format(file, sizeof(file), \"SELECT * FROM Hazak WHERE X=\'%f\' AND Y=\'%f\' AND Z=\'%f\'\",x,y,z);
               mysql_query(file);
               mysql_store_result();
               mysql_fetch_row_format(row2, \"|\");
               explode(row2, field2, \"|\");
               mysql_free_result();
               new id = strval(field2[0]);
               HazInfo[id][ujHaz] = 1;
 
               GetPlayerName(playerid,nev,sizeof(nev));
               format(file,sizeof(file),\"%s létrehozott egy házat! ID: %d | Belsõ ID: %d | Eladási Ár: %d Ft\",nev,id,belso,ar);

 
Az id változó mindig 0.Miért?
[gmod]Javítottam helyetted a

taget

tagre![/gmod]
« Utoljára szerkesztve: 2014. október 23. - 14:55:25 írta Dfoglalo »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
MySQL kiolvasás
« Válasz #1 Dátum: 2014. március 14. - 00:47:05 »
0 Show voters
Most megyek aludni, szóval mára csak egy kis észrevételt tennék: ne a koordináták legyenek a feltételek, ugyanis azok lehetnek máshol is ugyanazok, valamint probléma lehet, ha különbözõ számú számjegyek vannak a nem egész részen a lekérdezéskor, mint az adatbázisban - s*@r megfogalmazás, szóval itt egy példa: 1,827 a lekérdezés, de a db-ben már 1,8 van. Így - ha jól tudom - nem fog teljesülni a felvétel. De ez nem biztos, mert ez float, nem sima szám, vagy bármi más... Na mindegy. Holnap kicsit megnézem a kódot a konkrét problémáddal kapcsolatban is, ha csak addig le nem elõznek engem.

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
MySQL kiolvasás
« Válasz #2 Dátum: 2014. március 14. - 02:53:17 »
0 Show voters
az auto_incrementre gondolsz?
ezzel tudod állítani:
 
ALTER TABLE tábla_név AUTO_INCREMENT = 1;[/quote]
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
MySQL kiolvasás
« Válasz #3 Dátum: 2014. március 14. - 06:47:20 »
0 Show voters
Mutasd a tablat.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL kiolvasás
« Válasz #4 Dátum: 2014. március 14. - 08:14:26 »
0 Show voters
Az auto-increment be van állítva és az mûködik is.
Példa: 1,2,3,4-es ID jû sorok vannak a táblában.Törlöm õket.
Ezután ha beakarok szúrni egyet,akkor 5-ös ID-t rakni neki.
\"8420f90ebd4dcd0585eb8b5180719169.png\"

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
MySQL kiolvasás
« Válasz #5 Dátum: 2014. március 14. - 08:27:27 »
0 Show voters
A táblát megnyitva phpMyAdminnal jobb felül az Operations/Mûveletek fülön át tudod állítani az auto_incrementet a következõre.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL kiolvasás
« Válasz #6 Dátum: 2014. március 14. - 08:38:36 »
0 Show voters
Na ez megoldva,köszi.Csak így ha törlök valamit,akor mindig mindent törölnöm kell.Mert csak akkor engedi átírni,ha nincs sor a táblában.
Másikra van valami megoldásotok pls?
A koordináta egyedi,mert ezek házbejáratok.
 
CMD:ujhaz(playerid,params[])
{
if(Belepve[playerid] != 0)
{
          if(JatekosInfo[playerid][Admin] == 4)
          {
              new belso,ar;
          if(sscanf(params,\"dd\",belso,ar))return SendClientMessage(playerid,SZURKE,\"Használat: /ujhaz [belsõ ID] [Eladási ár]\");
          {
              if(belso > 0 && belso < 9)
              {
               new Float:x,Float:y,Float:z;
               GetPlayerPos(playerid,x,y,z);
               new file[512];
               AddStaticPickup(1239, 23, x,y,z, 0);
               if(belso == 1)
               {
                        format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'1\',\'1\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               if(belso == 2)
               {
                  format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'4\',\'2\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               if(belso == 3)
               {
                  format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'5\',\'3\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               if(belso == 4)
               {
                  format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'9\',\'4\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               if(belso == 5)
               {
                  format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'15\',\'5\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               if(belso == 6)
               {
                  format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'8\',\'6\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               if(belso == 7)
               {
                  format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'6\',\'7\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               if(belso == 8)
               {
                  format(file, sizeof(file), \"INSERT INTO Hazak (X,Y,Z,Interior,Belso,Zarva,Ar) VALUES (\'%f\',\'%f\',\'%f\',\'6\',\'8\',\'1\',\'%d\')\", x,y,z,ar);
                  mysql_query(file);
               }
               new row2[256];
               new field2[17][24];
               format(file, sizeof(file), \"SELECT * FROM Hazak WHERE X=\'%f\' AND Y=\'%f\' AND Z=\'%f\'\",x,y,z);
               mysql_query(file);
               mysql_store_result();
               mysql_fetch_row_format(row2, \"|\");
               explode(row2, field2, \"|\");
               mysql_free_result();
               new id = strval(field2[0]);
               HazInfo[id][ujHaz] = 1;
 
               GetPlayerName(playerid,nev,sizeof(nev));
               format(file,sizeof(file),\"%s létrehozott egy házat! ID: %d | Belsõ ID: %d | Eladási Ár: %d Ft\",nev,id,belso,ar);
               AdminnakUzenet(VNARANCS,file,1);
            }
            else SendClientMessage(playerid, HIBA, \"A belsõnek 1-8-ig kell lennie!\");
         }
      }
      else SendClientMessage(playerid, HIBA, \"Minimum 4-as adminnak kell lenned!\");
 
}
else SendClientMessage(playerid, HIBA, \"Nem vagy bejelentkezve!\");
return 1;
}

 
Onnan tudom,hogy nem jó,hogy az olyan házakat nem kéne mentenie automatikus mentésnél,aminek az UjHaz == 1.
Meg onnan,hogy az újház létrehozásnál az ID mindig 0.
És csak a 0-ás ház UjHaz változóját írja át.
[gmod]Javítottam helyetted a

taget

tagre![/gmod]
« Utoljára szerkesztve: 2014. október 23. - 14:55:37 írta Dfoglalo »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
MySQL kiolvasás
« Válasz #7 Dátum: 2014. március 14. - 13:31:26 »
0 Show voters
Akkor is engedi, ha vannak sorok a táblában. Csupán azokra a számokra nem írhatod át, amelyek egyenlõek, vagy kisebbek, mint a legnagyobb auto incrementes érték a sorok egyikében.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL kiolvasás
« Válasz #8 Dátum: 2014. március 14. - 15:04:17 »
0 Show voters
ok,köszi.
Az másikban valaki?

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
MySQL kiolvasás
« Válasz #9 Dátum: 2014. március 14. - 18:48:07 »
0 Show voters
Azt nem értem, hogy miért zavar téged, hogy mennyi az id-je a házaknak..
Maximum annyit tehetsz, hogy lefuttatsz egy for ciklust, és átállítod az összes sornak az értékét sorrendbe, majd beállítod az auto incrementet a sorok számával.
 
ALTER TABLE *TÁBLANÉV* AUTO_INCREMENT = *SOROKSZÁMA*;

 
[gmod]Kitettem helyetted a

taget![/gmod]
« Utoljára szerkesztve: 2014. október 23. - 14:56:13 írta Dfoglalo »

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL kiolvasás
« Válasz #10 Dátum: 2014. március 14. - 19:18:06 »
0 Show voters
Ez már még meg van oldva.És azért,hogy 1-tõl 500-ig legyenek házak,és ne legyenek hézagok stb.Szeretem a rendet.
De a másik hibára mindig nem kaptam választ.
 
new row2[256];
       new field2[17][24];
       format(file, sizeof(file), \"SELECT * FROM Hazak WHERE X=\'%f\' AND Y=\'%f\' AND Z=\'%f\'\",x,y,z);
       mysql_query(file);
       mysql_store_result();
       mysql_fetch_row_format(row2, \"|\");
       explode(row2, field2, \"|\");
       mysql_free_result();
       new id = strval(field2[0]);
       HazInfo[id][ujHaz] = 1;
 
       GetPlayerName(playerid,nev,sizeof(nev));
       format(file,sizeof(file),\"%s létrehozott egy házat! ID: %d | Belsõ ID: %d | Eladási Ár: %d Ft\",nev,id,belso,ar);

 
Az id változó mindig 0.Miért?
[gmod]Javítottam helyetted a

taget

tagre![/gmod]
« Utoljára szerkesztve: 2014. október 23. - 14:55:00 írta Dfoglalo »

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
MySQL kiolvasás
« Válasz #11 Dátum: 2014. március 16. - 20:29:08 »
0 Show voters
Használj SSCANF-t, sokkal átláthatóbb karakterlánc felbontásoknál..

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
MySQL kiolvasás
« Válasz #12 Dátum: 2014. március 17. - 15:46:59 »
0 Show voters
Már mindegy.Megoldottam.De köszi,megnézem,lehet áttérek.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
MySQL kiolvasás
« Válasz #13 Dátum: 2014. március 17. - 19:16:30 »
0 Show voters
[mod]Ha jól értem, megoldottad az összes itt felvetett problémádat. Ebben az esetben zárom a témát. Ha mégis lenne még itt teendõd, írj PÜ-t.[/mod]

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
MySQL kiolvasás
« Válasz #14 Dátum: 2014. március 16. - 20:29:08 »
0 Show voters
Használj SSCANF-t, sokkal átláthatóbb karakterlánc felbontásoknál..

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal