Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Serverske aplikacije i baze podataka

Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion...
MySQL, PostgreSQL, MSQL, Oracle...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 8.1.2011, 21:42   #1
vladakg
Član
 
Član od: 4.4.2008.
Lokacija: Kragujevac
Poruke: 233
Zahvalnice: 8
Zahvaljeno 3 puta na 3 poruka
Question Uzimanje vrednosti vrednosti option u select bez klika na submit

Ovako, pravim neku admin stranicu za jedan moj sajt, pa ne znam kako da uradim sledece. Naime zeleo bih u jednoj formi da iz select dobijem id iz baze za odabranu galeriju. Ja znam da dobijem kad kliknem na submit ali ja zelim pre toga. Moj kod za select bi bio ovakav:
PHP kod:
<?php
            connect
();
            
$tbl_name="menu";
            
$result mysql_query("SELECT * FROM $tbl_name");
            
$count=mysql_num_rows($result);
            
$row=mysql_fetch_array$result );
            
            echo 
"<select name=odabir>";
            
$i=0;
            for(
$i=0;$i<=$count-1;$i++)
                {
                    
$tbl_name2="galerija";
                    
$id_menu=$row['id_menu'];
                    
$resultsub mysql_query("SELECT * FROM $tbl_name2 WHERE id_menu=$id_menu");
                    
$countsub=mysql_num_rows($resultsub);
                    
$rowsub=mysql_fetch_array$resultsub );
                    
$j=0;
                    for(
$j=0;$j<=$countsub-1;$j++)
                    {
                         echo 
"
                        
                            <option value="
.$rowsub['id_gal'].">
                                "
.$row['ime']." -- "
                                
.$rowsub['ime'].
                                
"
                            </option>
                        "
;
                    
$rowsub=mysql_fetch_array$resultsub );
                    }
                    
$row=mysql_fetch_array$result );
                }
        echo 
"    </select>";
        
?>
Pa dalje u kodu imam input gde ubacujem podatke, ali prvo ovde izaberem galeriju. Kako ja da dobijem ovaj id_gal pre nego sto kliknem na submit? Znaci kad izaberem iz padajuce liste neku galeriju da odmah ispod moze da mi ispise i njen id, jel moze neko da mi pomogne?

Poslednja ispravka: VojaM (9.1.2011 u 1:03) Razlog: Stavljanje php skripta u [php] tag
vladakg je offline   Odgovor sa citatom ove poruke
Stara 9.1.2011, 0:05   #2
Remedy
Veteran
 
Član od: 5.11.2005.
Poruke: 826
Zahvalnice: 177
Zahvaljeno 199 puta na 154 poruka
Određen forumom Re: Uzimanje vrednosti vrednosti option u select bez klika na submit

Kad ubacuješ "code" u post, bilo bi dobro da taj "code" bude u odgovarajućem tagu (dugme za PHP tag je treće sa desne strane iznad prozora za pisanje posta). Tako je lakše drugima da ga pročitaju (a ti drugi treba tebi jel, da pomognu ). Isto, ako ti je "code" iskomentarisan (pretpostavljam da to radiš dok kucaš), ostavi i to da ljudi lakše shavate šta si hteo da uradiš tim delom "code"-a (a ako nije, iskomentariši malo). Što jasnije postaviš pitanje, pre ćeš dobiti odgovor.

E sad, ovo nema veze sa pitanjem, ali ima sa ovim "code"-om koji si postavio. Uvek se trudi da imaš što manji broj upita ka bazi (da bi ti aplikacija radila brže). Znači, kad staviš mysql_query() u "for" loop, pa taj loop krene da vrtiiii.... Nego reši tu situaciju drugačije, tj napiši taj query drugačije ako je moguće (npr izvuci id-je koji su ti potrebni pomoću loop-a, pa onda pošalji jedan query). Drugo, izbegavaj da selektuješ sve (*), osim ako ti stvarno nije potrebno sve. Ovo je samo primer:
PHP kod:
SELECT id_galime FROM galerija WHERE id_menu IN(1234); 
Što se tiče tog id-ja galerije, ne shvatam zašto ti treba (osim ako nećeš da šalješ neki ajax zahtev, ali onda bi ga izvukao pomoću javascripta). Meni ovako deluje da je to admin stranica za upload slike, i da to "select" polje služi za odabir galerije u koju će ići slika.
Remedy je offline   Odgovor sa citatom ove poruke
Stara 9.1.2011, 1:19   #3
vladakg
Član
 
Član od: 4.4.2008.
Lokacija: Kragujevac
Poruke: 233
Zahvalnice: 8
Zahvaljeno 3 puta na 3 poruka
Određen forumom Re: Uzimanje vrednosti vrednosti option u select bez klika na submit

Uspeo sam donekle, tacnije uspeo sam da mi u odredjenom div-u ispise koji je id galerije koju sam izabrao. E sad je pitanje kako da iskoristim taj id za ono sto ja hocu. Da pojasnim jos malo sta ja hocu. Imam select gde mogu da izaberem galeriju koju hocu, I ispod imam 10 input polja za upload slika. Ja hocu da kad izaberem galeriju, dobijem id te galerije kako bi mogao da proverim da li u njoj vec ima slika, I ako ih ima da mi pored input polja za koje vec postoji slika prikaze tu sliku. Za id sam uspeo na sledeci nacin.Prvo sam ubacio js
<script type="text/javascript">
function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML=""; //txtHint je div gde mi prikazuje id galerije
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlht tp.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true); //ovde pozivam php kod u kome napisem sta zelim da se prikaze
xmlhttp.send();
}
</script>

Kod za biranje je

PHP kod:
<?php
              connect
();
              
$tbl_name="menu";
              
$result mysql_query("SELECT * FROM $tbl_name");
              
$count=mysql_num_rows($result);
              
$row=mysql_fetch_array$result );
              
              echo 
"<select name=odabir onchange=showUser(this.value)>";
              
$i=0;
              for(
$i=0;$i<=$count-1;$i++)
                  {
                      
$tbl_name2="galerija";
                      
$id_menu=$row['id_menu'];
                      
$resultsub mysql_query("SELECT * FROM $tbl_name2 WHERE id_menu=$id_menu");
                      
$countsub=mysql_num_rows($resultsub);
                      
$rowsub=mysql_fetch_array$resultsub );
                      
$j=0;
                      for(
$j=0;$j<=$countsub-1;$j++)
                      {
                           echo 
"
                          
                              <option value="
.$rowsub['id_gal'].">
                                  "
.$row['ime']." -- "
                                  
.$rowsub['ime'].
                                  
"
                              </option>
                          "
;
                      
$rowsub=mysql_fetch_array$resultsub );
                      }
                      
$row=mysql_fetch_array$result );
                  }
          echo 
"    </select>";
          
?>
I na kraju kod u kome napisem sta zelim od rezultata

PHP kod:
<?php
  $q
=$_GET["q"];
   
  
$con mysql_connect('localhost''root''');
  if (!
$con)
    {
    die(
'Could not connect: ' mysql_error());
    }
  
mysql_select_db("pele"$con);
  
$sql="SELECT * FROM galerija WHERE id_gal = '".$q."'";
  
$subject mysql_query($sql);
  
$id_gal mysql_fetch_array($subject);
  echo 
$id_gal['id_gal'] ; //ovde kazem da mi ispise koji je id galerije
  
mysql_close($con);
  
?>
Kako ja sad taj id da iskoristim za ono sto sam napisao gore. Znaci pored svakog input polja gde sam prethodno uneo sliku da mi stoji ta ista slika. Ja sam zamislio na ovaj nacin samo mi fali taj id pa da postavim ovakav upit <?php if ($row[slika1]==!null) echo "<img width=120 height=90 src=images/".$row[slika1]." />" ?>
vladakg je offline   Odgovor sa citatom ove poruke
Stara 9.1.2011, 1:56   #4
Remedy
Veteran
 
Član od: 5.11.2005.
Poruke: 826
Zahvalnice: 177
Zahvaljeno 199 puta na 154 poruka
Određen forumom Re: Uzimanje vrednosti vrednosti option u select bez klika na submit

Ako hoćeš da tako funkcioniše, onda moraš da uposliš javascript. Ti već imaš id svake galerije kao vrednost "option" taga. Onda npr neka to "select" polje pošalje ajax zahtev sa id-jem odabrane galerije (onChange event handler pretpostavljam), neka ti php pribavi iz baze šta treba za tu galeriju, i onda opet moraš javascriptom da izmeniš stranicu kad dobiješ odgovor od servera.

Bilo bi ti jednostavnije da se nakon izbora galerije učita strana ponovo (ono što ti nećeš koliko shvatam).
Remedy je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Zarada na Netu Tanas Brbljaonica 859 13.10.2021 17:36
Život na Marsu? Ice-Man Brbljaonica 149 26.11.2008 0:26
Pravljenje butabilne WindowsXP instalacije sa SP3 pomocu NLite Win32 Operativni sistemi 8 4.6.2008 15:13
Slackware 10.2 i Wirless Optical Mouse HacKing Slobodni softver 12 19.9.2006 20:00
Halo 2 na PC-u i Win Vista Meho Krljic O igrama uopšte 4 18.4.2006 20:00


Sva vremena su po Griniču +2 h. Sada je 15:16.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com