begin process at 2012 05 28 06:56:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

AU SECOURS !!!!

 > 

Tableau dynamique et panier en ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau dynamique et panier en ligne

mardi 3 mai 2005 à 14:23:07 | Tableau dynamique et panier en ligne

nicul

Bon jour tout le monde . Je suis pas trop du genre a poser des questions et à embeter les gens mais la je suis à 2 doigts de craquer. J'aurais exprecemment besoin d'aide pour un probleme de Panier couplé entre session et Tableau.
Voila en parcourant le net j'ai trouvé un script qui devrait theoriquement marcher.
le Voici:
<% id = cstr(Request.Form("id")) %>
<% qte = cstr(Request.Form("nom")%>


<%
sub ajoutPanier( id , qte )
dim arPanier

arPanier = Session("panier")

if ( vartype( arPanier ) = 8204 ) then ' vrai si arPanier est un tableau de variant
arPanier = array( array( id , qte )) ' on 'initialise avec un nouveau tableau aui contient le tableau des valeur
'j'utilise la fonction cstr pour forcer le type de la valeur en String.
'Le tableau est de type variant. Un variant est un type spécial qui peut stocker tous les types ( string, date , time , int, etc ).
'Il peut y avoir un pb lors de comparaison entre deux variable variant de sous type différents ( voir retirePannier) .
'En forcant le variant en str, on évite ce pb.

else ' arPanier contient déjà des infos
dim nextIndex
nextIndex = ubound( arPanier )+1 'on determine le prochain index
redim preserve arPanier( nextIndex ) ' on redimensionne la tableau
arPanier( nextIndex ) = array( id , qte ) ' on affecte les valeurs
end if
Session("panier") = arPanier ' on stock le tableau

end sub

sub retirePannier( id )
dim arPanier
dim lastIndex
dim i
arPanier = Session("panier")

if ( vartype( arPanier ) = 8204 ) then
lastIndex = UBound( arPanier )
for i = 0 to lastIndex
article = arPanier( i )
if vartype( article ) = 8204 then ' vrai si article est un tableau de variant
if article(0) = id then
arPanier( i ) = 0 'on remplace le tableau article par 0
' le test vartype( article ) = 8204 ne sera plus vrai pour cette ligne
exit for
end if
end if
next
end if
Session("panier") = arPanier ' on stock le tableau
end sub

sub printPanier()
dim arPanier
dim article

arPanier = Session("panier")

if ( vartype( arPanier ) <> 0 ) then
for each article in arPanier
if vartype( article ) = 8204 then ' vrai si article est un tableau de variant
Response.Write "id : " & article(0) & " - qte : " & article(1) & "<br>"
end if
next
end if
end sub

%>


Mais le truc c'est que je n'arrive pas a appeller les fonctions. Ou sinon qd je les appelle elle me renvoi des erreurs . genre :

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'ubound'

/zao/pages/catalogue.asp, line 26


sinon je ne saisis  pas  trop non plus le concept de vartype :)   et  les parametres que je dois passer dans l'appel de mes sub .

Voila  merci d'avance pour votre aide :)

jeudi 5 mai 2005 à 03:50:20 | Re : Tableau dynamique et panier en ligne



en premier lieu vartype permet de déterminer le type de la variable, s'il retourne 8204 (variant array). Je ne connais pas le reste du code et cela aiderai grandement, car comment que la variable session sesssion("panier") est elle remplis. Je t'ai fais qqchose qui fonctionne et une sub qui test le contenu de ta array selon la sub appeler, a toi maintenant a integrer le tout !


<%

sub ajoutPanier(arPanier,id,qte)
 'dim arPanier(10)
 'arPanier = Session("panier")
 
 if ( vartype( arPanier ) = 8204 ) then ' vrai si arPanier est un tableau de variant
  arPanier = Array(id, qte) ' on 'initialise avec un nouveau tableau aui contient le tableau des valeur
  dim txt
  txt = " sub ajoutPanier"
  AfficherArray txt, arPanier
  'j'utilise la fonction cstr pour forcer le type de la valeur en String.
  'Le tableau est de type variant. Un variant est un type spécial qui peut stocker tous les types ( string, date , time , int, etc ).
  'Il peut y avoir un pb lors de comparaison entre deux variable variant de sous type différents ( voir retirePannier) .
  'En forcant le variant en str, on évite ce pb.
 
 else ' arPanier contient déjà des infos
  dim nextIndex
  nextIndex = UBound( arPanier )+1 'on determine le prochain index
  redim preserve arPanier( nextIndex ) ' on redimensionne la tableau
  arPanier( nextIndex ) = array(id,qte) ' on affecte les valeurs
 end if
 Session("panier") = arPanier ' on stock le tableau

end sub

sub retirePannier(arPanier,id)

 dim lastIndex
 dim i

 if ( vartype( arPanier ) = 8204 ) then
  
  lastIndex = UBound( arPanier )
  for i = 0 to lastIndex
   
   session("article") = arPanier( i )
   if vartype( arPanier ) = 8204 then ' vrai si article est un tableau de variant
    if session("article")= id then
     arPanier( i ) = 0 'on remplace le tableau article par 0
     ' le test vartype( article ) = 8204 ne sera plus vrai pour cette ligne
     exit for
    end if
   end if
  next
 end if
 Session("panier") = arPanier ' on stock le tableau
 dim txt
 txt = " sub retirePannier"
 AfficherArray txt, arPanier
end sub

sub printPanier(arPanier)

 dim article

 if ( vartype( arPanier ) <> 0 ) then
  article = session("article")
  Response.Write "<br><br><b>Pour la sub printPanier :</b><br>"
  for i = 0 to article
   if vartype( arPanier ) = 8204 then ' vrai si article est un tableau de variant
     Response.Write "id : " & i
     Response.Write " - qte : " & arPanier(i) & "<br>" 
   end if
  next
 end if
end sub

Sub AfficherArray(txt, ArrayToShow)
 Dim I         
 Dim iArraySize

 iArraySize = (UBound(ArrayToShow) - LBound(ArrayToShow)) + 1

 Response.Write "<p><b>Il y a " & iArraySize _
  & " pour :" & txt  &"</b></p>" & vbCrLf
 Response.Write "<table border=""1"">" & vbCrLf
 Response.Write "<thead>" & vbCrLf
 Response.Write "<tr>" & vbCrLf
 Response.Write "<th>Index</th>" & vbCrLf
 Response.Write "<th>Value</th>" & vbCrLf
 Response.Write "</tr>" & vbCrLf
 Response.Write "</thead>" & vbCrLf
 Response.Write "<tbody>" & vbCrLf

 For I = LBound(ArrayToShow) To UBound(ArrayToShow)
  Response.Write "<tr>" & vbCrLf
  Response.Write "<td>" & I & "</td>" & vbCrLf
  Response.Write "<td>" & ArrayToShow(I) & "</td>" & vbCrLf
  Response.Write "</tr>" & vbCrLf
 Next 'I
 Response.Write "</tbody>" & vbCrLf
 Response.Write "</table>" & vbCrLf
End Sub


r_id = cstr(Request.Form("id"))
r_qte = cstr(Request.Form("qte"))

dim arPanier(10)
arPanier(0) = "1"
arPanier(1) = "2"
arPanier(2) = "3"
arPanier(3) = "4"

Session("panier") = arPanier

'panier total ajouter au debut
dim txt
txt = " Array du debut"
AfficherArray txt, Session("panier")

'ajouter les element du form
ajoutPanier Session("panier"), r_id, r_qte

'retirer les element du tableau deja entrer
retirePannier Session("panier"), r_id

'afficher resultat
printPanier(Session("panier"))

response.Write ("<br>Nombre d'element dans le panier: " & session("article"))

%>

jeudi 5 mai 2005 à 16:12:04 | Re : Tableau dynamique et panier en ligne

Jackboy

jespere que sa va t'aider, reviens moi la dessus !



Cette discussion est classée dans : tableau, article, panier, arpanier, vartype


Répondre à ce message

Sujets en rapport avec ce message

p'tit pb [ par benj71 ] Voila je ne suis pas tres doué en asp et j'ai un petit pb. Pour mon site marchand, j'affiche ma bdd avec ref, article, prix, ... et qd je clique sur p p'tit pb [ par benj71 ] Voila je ne suis pas tres doué en asp et j'ai un petit pb. Pour mon site marchand, j'affiche ma bdd avec ref, article, prix, ... et qd je clique sur p Erreur : valeur Null ou n'est pas un objet [ par LyonWeb ] Bonjour, je suis en train de creer un site de vente en ligne et il apparait une erreur lorsque j'ajoute un article dans le panier : 'parent.sommaire.d Panier avec variables de session [ par ibrahim26 ] Bonjour,J'ai crée un panier en utilisant la session (tableau de valeurs) dans le code behind de c#.J'ai donc un bouton sur ma form qui fait ceci :tabP Probléme d'affichage d'un tableau dynamique et de mis eà jour [ par kenza_sana ] Bonjourj'éssai d'afficher un tableau dynamique (qui se charge a partir de la Base de données) SQL Server en ASP.NET C#  pour pouvoir faire des mises à Créer des string dynamiquement [ par midoparis ] Bonjour à tous ! Je développe un petit logiciel en C# sous VS 2005 mais il y a une partie qui me bloque complètement : j'ai besoin de créer un certa Exploitation des données d'un dataset ou d'un datatable [ par CGSI ] Bonjour tous le monde Je vient vers vous car je n'aurais bientôt plus de cheveux sur la tête.Je travail sur un projet de génération de mail à partir d help meeeeeeeeeeeeeeeeeeeeee [ par zizinem ] je veux un code asp.net(vb ) pour le boutton (ajouter au panier) qui est dans mon gridview et qui en cliquant dessus ajoute le produit à la ligne_pani Tableau de bytes VS WebControle Image [ par BobbyStavelot ] Bonjour,J'accède à un WebService depuis une page ASP .Net qui me renvoi un tableau de bytes.Je peux ensuite convertir ce Tableau de byte en Image en u tableau excel avec SharePoint Services 3.0 [ par tortuedu74 ] Bonjour, Je souhaiterais savoir comment insérer un tableau excel avec Windows SharePoint Services 3.0.Je n'ai pas trouvé de services correspondant sur


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,231 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales