Nu afisaza produsul selectat

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Stefan
Mesaje: 117

Nu afisaza produsul selectat

Salut, am urmatorul cod, am scris acolo cateva comentarii.

Cod: Selectaţi tot

<td><?php echo $row['nume']; ?></td>
		<td><?php if($row['durata'] == 1) 	{ echo 'O luna'; } else if($row['durata'] == 2) { echo 'Doua luni'; } else if($row['durata'] == 3) { echo 'Trei luni'; } else { echo 'err'; } ?></td>
		<td><?php echo $row['pret']; ?> €</td>
		<td><?php if($date_utilizator['euro'] >= $row['pret']){ ?>
 <!-- Codul cu eroarea incepe de aici -->		
	<button  class="btn btn-success" data-toggle="modal" data-target="#Informatii">
				Cumpara
			</button>
			<div class="modal fade" id="Informatii" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
			  <div class="modal-dialog">
				<div class="modal-content">
				  <div class="modal-header">
					<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
					<h3><b>Esti sigur ca vrei sa cumperi acest produs (<?php echo $row['nume']; ?>) ?</b></h3>
				  </div>
				  <div class="modal-footer">
					<button type="button" class="btn btn-default" data-dismiss="modal">Anuleaza</button>
		<!-- Daca sterg restul codului html si las doar tag-ul <a> merge-->			
		<a href="?succes=da&ipc=<?php echo base64_encode($row['id']); ?>&npc=<?php echo base64_encode($row['nume']); ?>&pret=<?php echo base64_encode($row['pret']); ?>&u_id=<?php echo $date_utilizator['id']; ?>" class="btn btn-success" style="color:white"> Cumpara</a>
				  </div>
				</div>
			  </div>
			</div>
<!-- pana aici -->
		<?php } ?>
Am incercat ca inainte de a te redirectiona spre pagina de succes, sa apara o fereastra in care sa te intrebe daca vrei sa cumperi produsul respectiv, problema este ca orice produs as selecta: imgur.com/87LHWhu , imi apare ca este selectat primul produs

MarPlo Mesaje: 4343
Salut,
Din codul postat nu apare clar unde ar fi problema; poate e ceva legat de javascript. Asta se poate rezolva prin teste si verificare, cine are scriptul si baza de date. Vezi ce cod recunoaste si preia produsul, prin ce criteriu recunoaste ce s-a selectat.
- Din ce am observat, daca acel cod face parte dintr-o bucla while(), e gresit fiindca Div-ul:

Cod: Selectaţi tot

<div class="modal fade" id="Informatii" tabindex="-1" ...>
se repeta cu acelasi ID si "tabindex". Normal e ca id-ul sa nu se repete in pagina; ori se face id diferit, ori se scoate acel Div pt modal din bucla while(), sa fie inclus doar o data.
Mai mult nu stiu, dar oricum, asta e un forum in care sunt mai multi membri care se ajuta cu ce stiu, asa ca poate se implica altcineva.

Stefan Mesaje: 117
Da este inclus intr-un while(), am mai scos acel div dar dupa "se strica" afisarea.
Fara div afiseaza corect dar nu se aseaza cum trebuie: imgur.com/a9uGrCv , cu div: imgur.com/9m0xbya
Daca nu se rezolva o sa fac altcumva'

P.s postez codurile pe pastebin.com fiindca aici imi da eroare, iar pe coursesweb.net/forum postez doar daca sunt intrebari mai scurte, nu sunt prea talentat la engleza.

MarPlo Mesaje: 4343
Incearca si cum e in acest exemplu:

Cod: Selectaţi tot

$i =0;
while($condition){
  $i++;
  $idmod ='Informatii'. $i;
  echo '<button  class="btn btn-success" data-toggle="modal" data-target="#'. $idmod .'">Cumpara</button>
  <div class="modal fade" id="'. $idmod .'" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">etc.</div>';
} 
- Coduri precum cele din acest subiect se pot posta, din pagina de la butonul Raspuns (nu de la Raspuns Rapid) [dupa 2 Refreshuri]. Deocamdata nu sunt hotarat sa schimb hostingul.
- "mluci12" posteaza si pe coursesweb.net , si e destul de "talentat", simplu si scurt la intrebarea in engleza si cu comentarii in cod in romana.

Stefan Mesaje: 117
Multumesc mult, a mers, trebuia adaugat si un echo la idmod;. Dar am o nelamurire, ce face acel $idmod ='Informatii'. $i; ?

MarPlo Mesaje: 4343
Se modifica valoarea lui "id" in functie de $i, la fiecare iteratie din while(), sa fie un ID unic; iar $i++ incrementeaza cu 1 valoarea lui $i.
Daca testezi acest cod vei vedea rezultatul:

Cod: Selectaţi tot

$i =0;
while($i <5){
  $i++;
  $idmod ='Informatii'. $i;
  print $idmod .'<br>';
}

Subiecte similare