viena tante Posted September 20, 2010 Report Share Posted September 20, 2010 (edited) Labdien, es nesaprotu kāpēc man šis, darbojoties caur mysql komandrindu darbojās pareizi un selekto visu, kas nepieciešams, bet no php tikai pirmo rezultātu, ko atrod fw_ekipejums tabulā SELECT fw_items.name, fw_items.attribute1 FROM fw_items, fw_ekipejums, fw_users WHERE fw_users.username=fw_ekipejums.username AND fw_users.username='$username' AND (fw_ekipejums.nazis = fw_items.name or fw_ekipejums.zobens = fw_items.name or fw_ekipejums.zobens1 = fw_items.name or fw_ekipejums.zobens2 = fw_items.name or fw_ekipejums.loks = fw_items.name) Kāds lūdzu var paskaidrot ko daru nepareizi? Edited September 20, 2010 by viena tante Quote Link to comment Share on other sites More sharing options...
Roberts.R Posted September 20, 2010 Report Share Posted September 20, 2010 Iemet šo pašu phpmyadmin SQL'ā, un paskaties, ko tas rāda. ;) Quote Link to comment Share on other sites More sharing options...
viena tante Posted September 20, 2010 Author Report Share Posted September 20, 2010 Iemet šo pašu phpmyadmin SQL'ā, un paskaties, ko tas rāda. ;) Tur viss darbojās, nekādu erroru Quote Link to comment Share on other sites More sharing options...
marcis Posted September 20, 2010 Report Share Posted September 20, 2010 Izvadot datus tu taču taisi ciklu, vai ne? Quote Link to comment Share on other sites More sharing options...
viena tante Posted September 20, 2010 Author Report Share Posted September 20, 2010 Izvadot datus tu taču taisi ciklu, vai ne? es ar var_dump() skatos to, kas iznāk arā no mysql_fetch_assoc() Tā nevartu būt kautkāda php konfigurēšanas vaina? Citi pieprasijumi gan strādā.. te nav ielikts pilns iekavu saturs ar OR, bet ideja ir attēlota. Kopā ir ap 20 tie OR. Pieprasijuma strings ir 1015 zīmes apmēram, ja tas palīdz.. Quote Link to comment Share on other sites More sharing options...
Kaklz Posted September 20, 2010 Report Share Posted September 20, 2010 Es tev stipri ieteiktu pārdomāt pašu vaicājuma struktūru. Varbūt sāc ar to, ka izstāsti, ko tu ar to vaicājumu vispār gribi panākt. Rakstīt 20 OR variantus augstāk esošā piemēra stilā izskatās pēc diezgan greizas izpratnes par relāciju datubāzēm. Quote Link to comment Share on other sites More sharing options...
codez Posted September 20, 2010 Report Share Posted September 20, 2010 Izvadot datus tu taču taisi ciklu, vai ne? Augsts IQ tev, es šitādu risinājumu neiedomājos. es ar var_dump() skatos to, kas iznāk arā no mysql_fetch_assoc() Lasām dokumentāciju un domājam - mysql_fetch_assoc() Quote Link to comment Share on other sites More sharing options...
viena tante Posted September 20, 2010 Author Report Share Posted September 20, 2010 Es tev stipri ieteiktu pārdomāt pašu vaicājuma struktūru. Varbūt sāc ar to, ka izstāsti, ko tu ar to vaicājumu vispār gribi panākt. Rakstīt 20 OR variantus augstāk esošā piemēra stilā izskatās pēc diezgan greizas izpratnes par relāciju datubāzēm. Ir 3 tabulas 1. priekšmeti 2.ekipejums 3. lietotaju dati. 2.ekipejums ir 20 kolonnas kurās ir katra lietotāja priekšmeti kurus viņš izmanto(kolonnas nosaukums ir priekšmeta tips), un atkarībā no priekšmeta kolonnā tad arī es paņemu vajadzīgās priekšmeta īpašības no 1.priekšmeti. Quote Link to comment Share on other sites More sharing options...
viena tante Posted September 20, 2010 Author Report Share Posted September 20, 2010 Lasām dokumentāciju un domājam - mysql_fetch_assoc() es itkā saprotu par to visu, funkcija izveido asociatīvo massīvu pēc funkcijas mysql_query Quote Link to comment Share on other sites More sharing options...
codez Posted September 20, 2010 Report Share Posted September 20, 2010 Fetch a result row as an associative array row - rinda Quote Link to comment Share on other sites More sharing options...
daGrevis Posted September 20, 2010 Report Share Posted September 20, 2010 Kā var būt apmēram 1015 zīmes?? Quote Link to comment Share on other sites More sharing options...
Kaklz Posted September 20, 2010 Report Share Posted September 20, 2010 fw_items: ----------- name attribute ... fw_ekipejums -------------- etype ( nazis, zobens1, zobens2, .. , whatever) username .. fw_users ------------- username SELECT fw_items.name, fw_items.attribute FROM fw_items JOIN fw_ekipejums ON fw_items.name=fw_ekipejums.etype JOIN fw_users ON fw_ekipejums.username=fw_users.username WHERE fw_users.username = XXXX Es tavā vietā padomātu šādā virzienā. Te vismaz ir iespējams salikt KAUT KĀDUS indeksus atšķirībā no 20 OR gadījuma. Tāpat tev vajadzētu padomāt par to, ka username (citu lauku, pēc kuriem notiek join) vietā varētu izmantot identifikatorus ar cipariskajām vērtībām, bet ja vien problēma ir codez minētajā, tad tev vēl tāls ceļš ejams :) Quote Link to comment Share on other sites More sharing options...
viena tante Posted September 20, 2010 Author Report Share Posted September 20, 2010 (edited) row - rinda Codez, liels paldies, nākot mājās tagad vakarā no darba, sapratu savu kļūdu, muļķīgi, bet atrisinājums neesošais while :) Kaklz, paldies, darīšu tā kā Tu saki, ceļš tāls ejams.. :( :) Edited September 20, 2010 by viena tante Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.