Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Xiaomi aduce pe piața din Ro...

Ariana 22 ani din Ploiesti are ne...

Noul BMW seria 3:Sedan și To...

Tractor prin programul rabla
 Care cada de baie e mai buna?

Sfat upgrade ram și ssd

Sonoma 14.3 iMac i5 Late 2013

Reclama peste imagine Samsung 32M...
 Radu Stefan Banica ft. Juno - Sam...

Întrebare lichid de frana pe saboti

Grupul de firme Paysera Bulgaria ...

Upgrade Ryzen 9 5900X -> Ryze...
 Priza aplicata cu intrerupator cu...

Tor cu IP de UK

Sugestii road trip Moldova + Mara...

Recomandare apartament 3 camere
 

intrare pe alta pagina dupa selectie dintr-un box

- - - - -
  • Please log in to reply
6 replies to this topic

#1
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010
[ https://i.imgur.com/8GVIwq3.png - Pentru incarcare in pagina (embed) Click aici ]

deci, am pe pagina index.php clasamentul de mai sus. Deasupra lui, exista un box, in care userul isi poate alege o tara pentru a-i afisa echipele respective. Ce vreau eu sa fac, este ca atunci cand userul alege tara, sa ma duca pe o alta pagina : site.com/country_ranking.php in care sa apara doar clasamentul tarii respective, nu si clasamentul de mai sus.

O alta chestie importanta, vreau ca dupa ce este aleasa tara, sa fac un buton "GO" pe care userul sa-l apese pentru a accesa pagina dorita, si nu automat, cum se face acum, din 2 motive mari si late :

- 1. pe versiunea mobila, userul alege pagina, dar ea nu este incarcata automat, deci nu functioneaza
- 2. schimbarea din link. In momentul de fata, daca aleg tara si dau ENTER, linkul va fi de genul index.php/?country=tara_aleasa !! Asa ceva vreau, doar ca daca dau ENTER, imi apare linkul dorit, dar nu mai afiseaza continutul.

las si codul html si php, poate e nevoie :

index.php
<head>
<script>
function showUser(str) {
	if (str == "") {
		document.getElementById("txtHint").innerHTML = "";
		return;
	 } else {
		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 = xmlhttp.responseText;
			 }
		}
		xmlhttp.open("GET","country_ranking_array.php?q="+str,true);
		xmlhttp.send();
	}
}
</script>
</head>
<body>
<form>
  <select name="Country" onchange="showUser(this.value)">
  <option value="">Select a country:</option>
  <option value="Spain">Spain</option>
  <option value="England">England</option>
  <option value="Romania">Romania</option>
  <option value="Brazil">Brazil</option>
  <option value="USA">USA</option>
  <option value="Mexico">Mexico</option>
  <option value="New Zeeland">New Zeeland</option>
  <option value="Saudi Arabia">Saudi Arabia</option>
  <option value="Egypt">Egypt</option>
  <option value="Colombia">Colombia</option>
  <option value="Afghanistan">Afghanistan</option>
  <option value="Albania">Albania</option>
  <option value="Algeria">Algeria</option>
  <option value="Andorra">Andorra</option>
  <option value="Angola">Angola</option>
  <option value="Antigua and Barbuda">Antigua and Barbuda</option>
  <option value="South Africa">South Africa</option>
  <option value="Argentina">Argentina</option>
  <option value="Armenia">Armenia</option>
  <option value="Aruba">Aruba</option>
  </select>
</form>
<br>
<div id="txtHint"><b>Teams of that country will be listed here...</b></div>
</body>


country_ranking_aray.php

<head>
<style>
table {
	width: 100%;
	border-collapse: collapse;
}
table, td, th {
	border: 1px solid black;
	padding: 5px;
}
th {text-align: left;}
</style>

</head>
<body>
<?php
$q = isset( $_GET['q'] ) ? $_GET['q'] :'WW';
$con = mysqli_connect('localhost','username','password','database');
if (!$con) {
	 die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM Sheet1 WHERE Country = '".$q."' ORDER BY Pos";
$result = mysqli_query($con,$sql);
echo "<table>
<tr>
<th>Pos</th>
<th>World</th>
<th>(+/-)</th>
<th>Logo</th>
<th>Team</th>
<th>Country</th>
<th>Points</th>
</tr>";
$a = 1;
while($row = mysqli_fetch_array($result)) {
	 echo "<tr>";
	 echo "<td>" . $a . "</td>"; $a++;
	 echo "<td><b>" . $row['Pos'] . "</b></td>";
	 echo "<td>" . ($row["Prev"]-$row["Pos"])."</td>";
	 echo "<td>" . $row['Logo'] . "</td>";
	 echo "<td>" . $row['TEAM'] . "</td>";
	 echo "<td><i>" . $row['Flag'] . $row['Country'] . "</i></td>";
	 echo "<td><b>" . $row['TOTALPts'] . "</b></td>";
	 echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
	  </body>



#2
Parameter

Parameter

    Junior Member

  • Grup: Members
  • Posts: 44
  • Înscris: 04.11.2005
In primul rand trebuie sa stabilesti locul unde vrei sa iti apara butonul in formular si sa pictezi acolo un <div> sau un <span> pe care sa-l umpli mai tarziu cu Javascript.

<span id="butonGo"></span>


Pe urma trebuie sa modifici functia showUser(str) astfel:

function direct(link){window.location = link;}
function showUser(str) {
	 if (str == "") {

document.getElementById("butonGo").innerHTML = " Alege o natie din lista!";
			 return;
		 } else {
document.getElementById("butonGo").innerHTML = " <img src=/'go.gif/' border=0 onclick=direct(/'index.php/?country=/'+str)>";
	 }
}


Vezi ca pe undeva trebuie sa ai o imagine care se cheama go.gif (eu am presupus ca o ai in acelasi folder cu index.php).

Iar dupa aia trebuie sa pui in index.php interogarile care scot din baza de date inregistrarile (sa muti o parte de cod din country_ranking_aray.php in index.php).

Apoi nu mai ai nevoie de country_ranking_aray.php.

Atentie ca daca trimiti ?country=Andorra trebuie sa astepti dincolo tot country si nu q (atentie ce transmiti prin GET).

Edited by Parameter, 03 November 2015 - 09:22.


#3
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010
multumesc :D am incercat, totusi nu reusesc mare lucru :))) daca spui ca trebuie si ceva j&#097;v&#097;script la acel GO, inseamna ca acolo e o greseala. Am copiat codul php din country_ranking_array, dar nu mai afiseaza datele dorite in nici un fel

iar daca modific $q cu $Country, nu imi mai afiseaza din baza de date

Edited by AlleXyS1, 05 November 2015 - 21:17.


#4
deltaT

deltaT

    Junior Member

  • Grup: Members
  • Posts: 40
  • Înscris: 23.05.2008
Cam asa trebuie sa arate cele doua fisiere ale tale unificate in unul singur:
<?php
$q = isset( $_GET['q'] ) ? $_GET['q'] :'WW';
if(strlen($q) > 0) // Daca totusi a fost selectata o tara scot din baza de date rezultatele pentru acea tara
{
$con = mysqli_connect('localhost','username','password','database');
if (!$con) {die('Nu ma pot conecta: ' . mysqli_error($con));}
mysqli_select_db($con,"ajax_demo");
$sql= "SELECT * FROM Sheet1 WHERE Country = '".$q."' ORDER BY Pos";
$result = mysqli_query($con,$sql);
$tarisoara = $q;
if($q == 'WW'){$tarisoara = 'Intregul Univers';}

$tabel = '<center><b>Iata rezultatele pentru '.$tarisoara.'</center></b><br />
<table><tr><th>Pos</th><th>World</th><th>(+/-)</th><th>Logo</th><th>Team</th><th>Country</th><th>Points</th></tr>';
$a = 1;
while($row = mysqli_fetch_array($result))
{
$tabel .= '<tr><td>'.$a.'</td><td><b>'.$row['Pos'].'</b></td><td>'.($row['Prev']-$row['Pos']).'</td>
<td>'.$row['Logo'].'</td><td>'.$row['TEAM'].'</td><td><i>'. $row['Flag'].$row['Country'].'</i></td>
<td><b>'.$row['TOTALPts'].'</b></td></tr>';
$a++;
}
$tabel .= '</table>';
mysqli_close($con);
}else{$tabel = '<b>Aici vei vedea o lista cu echipele din tara pe care o vei selecta!</b>';}
echo '<html><head>
<script type="text/javascript">
function direct(link){window.location = link;}
function showUser(str)
{
if (str == ""){document.getElementById("butonGo").innerHTML = " Alege o natie din lista!";}
else{document.getElementById("butonGo").innerHTML = "<img src='."'go.gif'".' border=0 onclick=direct('."'index.php?q='".'+str)>";}
}
</script>
<style>
table {width: 100%; border-collapse: collapse;}
table, td, th {border: 1px solid black; padding: 5px;}
th {text-align: left;}
</style>
</head><body>
<form>
<select name="Country" onchange="showUser(this.value)">
<option value="">Select a country:</option>
<option value="Spain">Spain</option>
<option value="England">England</option>
<option value="Romania">Romania</option>
<option value="Brazil">Brazil</option>
<option value="USA">USA</option>
<option value="Mexico">Mexico</option>
<option value="New Zeeland">New Zeeland</option>
<option value="Saudi Arabia">Saudi Arabia</option>
<option value="Egypt">Egypt</option>
<option value="Colombia">Colombia</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Antigua and Barbuda">Antigua and Barbuda</option>
<option value="South Africa">South Africa</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
</select>
<span id="butonGo"></span>
</form>
<br>
<div id="txtHint">'.$tabel.'<br /><br />Acum ai urmatoarea problema: NU RAMANE SELECTATA TARA IN LISTA.<br /><br />Iti recomand sa generezi lista dinamic (cu interogare SQL din baza de date) si la generarea ei sa pui <b>selected</b> dupa valoarea optiunii selectate.</div>
</body></html>';
?>


Si nu uita ca iti mai trebuie si un fisier numit go.gif.

Nu am testat (rulat) codul asa ca s-ar putea sa mai aiba cate o eroare.

Daca tot nu pricepi ce se intampla acolo, atunci lasa-te pagubas.

Edited by deltaT, 06 November 2015 - 09:31.


#5
deltaT

deltaT

    Junior Member

  • Grup: Members
  • Posts: 40
  • Înscris: 23.05.2008
Am citit mai atent scriptul si am gasit o problema pe partea de javascript asa ca iata ce trebuie sa pui acolo ca sa functioneze:
<script type="text/javascript">
function direct(link){window.location = "index.php?q="+link;}
function showUser(str)
{
  if (str == ""){document.getElementById("butonGo").innerHTML = " Alege o natie din lista!";}
  else{document.getElementById("butonGo").innerHTML = "<img src='."'go.gif'".' border=0 onclick=direct(\'"+str+"\')>";}
}
</script>



#6
AlleXyS1

AlleXyS1

    Active Member

  • Grup: Members
  • Posts: 1,107
  • Înscris: 05.05.2010
nu functioneaza Posted Image problema apare la linia 57, unde dupa afisarea datelor din baza de date apare acel else. In plus, tot codul apare dupa else cu galben .... e corect sa bagi <html> </html> intr-un cod <?php ?> ?

[ https://i.imgur.com/ovb6S5H.png - Pentru incarcare in pagina (embed) Click aici ]

Edited by AlleXyS1, 06 November 2015 - 18:52.


#7
deltaT

deltaT

    Junior Member

  • Grup: Members
  • Posts: 40
  • Înscris: 23.05.2008
Din ultimul tau post imi pot da seama ca tu esti NEVINOVAT.

In acest caz, exemplul cu care ai inceput este nepotrivit (prea dificil pentru tine).

Ai acum doua variante:
1. Te lasi pagubas si iti vezi de treburile tale.
2. Incepi studiul PHP cu inceputul.

Daca alegi varianta 2, iti recomand sa cumperi o carte de PHP (sau sa cauti cursuri gratis pe net) si sa citesti, apoi sa faci exemplele din carte/tutorial si sa te joci cu ele (sa schimbi diverse functionalitati, sa optimizezi, etc) si pe urma sa te gandesti ca poti spera sa faci un site public cu un minim acceptabil de securitate.
Abordarea ta curenta este gresita. Ai presupus ca iei un script de pe net, pe urma il pui pe forum cum ca iti da eroare si o sa primesti scriptul corectat iar tu sa te declari apoi programator PHP.

Primul topic din aria PHP -> Incepatori este Sfaturi de programare in PHP si ar trebui sa-l citesti. http://forum.softped...gramare-in-php/

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate