Rechnung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Rechnung

    Also ich versuch grad div felder für bestimmte Ausgaben einer Schleife.


    mein Problem ist das ich nicht weiß was ich hinschreiben muss das wenn die Zahl in $i mit 4 endet eine variable gesetzt werden soll. für die 0 hab ichs schon war ja auch leicht aber ich weiß nicht wie ichs für 1,2,3,4,5,6,7,8,9 machen soll. also hier kommt der Teil von meinem Script dann wirds vielleicht verständlicher:

    PHP-Code:
    if(($i%10)==0)
        {
        
    $id boxobenl;
        }
        if(
    $i == 1)
        {
        
    $id boxobenr ;
        }
        if(
    $i == 2)
        {
        
    $id boxmittel;
        }
        if(
    $i == 3)
        {
        
    $id boxmitter;
        }
        if(
    $i == 4)
        {
        
    $id boxmittel;
        }
        if(
    $i == 5)
        {
        
    $id boxmitter;
        }
        if(
    $i == 6)
        {
        
    $id boxmittel;
        }
        if(
    $i == 7)
        {
        
    $id boxmitter;
        }
        if(
    $i == 8)
        {
        
    $id boxuntenl;
        }
        if(
    $i == 9)
        {
        
    $id boxuntenr;
        } 
    Lurchi ! Lurchi ! Lurchi !

  • #2
    Hm, spontan kommt mir da strlen() und substr() bzw. {} (um ein bestimmtes Zeichen innerhalb einer Zeichenkette anzusprechen) in den Kopf.
    PHP-Code:
    $i 1234;
    $str_i = (string)$i;
    $last_char $str_i{strlen($str_i) - 1};
    echo 
    $last_char// gibt '4' aus 
    Dafür gibt es jedoch bestimmt eine elegantere Lösung...
    Im Übrigen würde sich bei deiner IF-Herde ein switch() anbieten.
    Zuletzt geändert von Griecherus; 24.01.2007, 11:34.
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      ah dankeschön

      ist das absicht mit der geschweiften klammer hier:
      $str_i{strlen($str_i) - 1}

      also mit dem gibt er mir dann z.b. in deinem beispiel aus $i =1234

      die 4 aus?
      Lurchi ! Lurchi ! Lurchi !

      Kommentar


      • #4
        Hast du in meinem Posting nur den Code gelesen?
        Mit geschweiften Klammern kann man innerhalb von Zeichenketten eine bestimmte Position ansprechen.
        PHP-Code:
        $str 'ein_string';
        echo 
        $str{0}; // gibt 'e' aus, da an Position 0; 
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          ja n switch könnt ich auch machen sind ja bloß schönheitsfehler die mach ich weg wenn die Seite funktioniert
          Lurchi ! Lurchi ! Lurchi !

          Kommentar


          • #6
            dankeschön bin noch nicht so richtig bei mir heute hab net viel geschlafen


            grüße
            Julian
            Lurchi ! Lurchi ! Lurchi !

            Kommentar


            • #7
              also irgendiwe klappt es nicht wirklich... also die variablen die ich mit den berechnungen belgen will sind meine id's für meine divs aus der css. ich muss so Etiketen ausdrucken und sie müssen alle den gleichen abstand haben.

              hier kommt der relevante teil meiner css datei:
              PHP-Code:
              div#boxobenl
              {
              positionabsolute;
              top2.1cm
              left1.6cm;
              width9.1cm;
              height5.1cm
              cliprect(0.1cm1.5cm0.6cm0.4cm);
              }
              div#boxobenr
              {
              positionabsolute;
              top2.1cm
              right1.5cm;
              width9.1cm;
              height5.1cm;
              cliprect(0.1cm1.3cm0.6cm0.7cm);
              }
              div#boxmittel
              {
              positionabsolute;
              top0cm
              left1.6cm;
              width9.1cm;
              height5.1cm
              cliprect(0.1cm1.5cm0.6cm0.4cm);
              }
              div#boxmitter
              {
              positionabsolute;
              top0cm
              right1.5cm;
              width9.1cm;
              height5.1cm
              cliprect(0.1cm1.3cm0.6cm0.7cm);
              }
              div#boxuntenl
              {
              positionabsolute;
              top0cm
              left1.6cm;
              bottom2.1cm;
              width9.1cm;
              height5.1cm;
              cliprect(0.1cm1.5cm0.6cm0.4cm);
              }
              div#boxuntenr
              {
              positionabsolute;
              top0cm
              right1.5cm;
              bottom2.1cm;
              width9.1cm;
              height5.1cm;
              cliprect(0.1cm1.3cm0.6cm0.7cm);

              also jetzt kommt der Teil mit der Ausgabe und schleife in meinem Script:

              PHP-Code:
              <?php
                  $i
              =0;
                  for(
              $i=0;$i<(ceil(count($mg)/2));$i++) 
                  {
                  
              $str_i = (string)$i;
                  
              $last_char $str_i{strlen($str_i) - 1};
                  
                  if((
              $i%10)==0)
                  {
                  
              $id "boxobenl";
                  }
                  if(
              $last_char == 1)
                  {
                  
              $id "boxobenr";
                  }
                  if(
              $last_char == 2)
                  {
                  
              $id "boxmittel";
                  }
                  if(
              $last_char == 3)
                  {
                  
              $id "boxmitter";
                  }
                  if(
              $last_char == 4)
                  {
                  
              $id "boxmittel";
                  }
                  if(
              $last_char == 5)
                  {
                  
              $id "boxmitter";
                  }
                  if(
              $last_char == 6)
                  {
                  
              $id "boxmittel";
                  }
                  if(
              $last_char == 7)
                  {
                  
              $id "boxmitter";
                  }
                  if(
              $last_char == 8)
                  {
                  
              $id "boxuntenl";
                  }
                  if(
              $last_char == 9)
                  {
                  
              $id "boxuntenr";
                  }
              ?>
              <tr align="left" <?php echo((($i>0) && ($i%10)==0)?'style="page-break-before:always"':'');?> >
              <td valign="top">
              <?php if (isset($mg[$i])){ ?>
              <div id="<?echo $id;?>">
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
              <td><img src="pix/leer.gif" width="90" height="155" alt="" border="0"></td>
              <td valign="top" nowrap><span class="text3">
              <img src="pix/leer.gif" width="1" height="10" alt="" border="0"><br />
              <?php echo $mg[$i]['vname'].' '.$mg[$i]['name'
              #((strlen($mg[$i]['vname'].' '.$mg[$i]['name']) > 15)?$mg[$i]['vname'].'<br />'.$mg[$i]['name']:$mg[$i]['vname'].' '.$mg[$i]['name']); ?></span><br />
              <img src="pix/leer.gif" width="1" height="10" alt="" border="0"><br />
              <span class="text2">Mitglieds-Nr: <?php echo $mg[$i]['mitgliedsnr']; ?></span><br />
              </td>
              </tr>
              <tr>
              <td class="text" valign="top">&nbsp;[url]www.animalsliberty.de[/url]<br />&nbsp;info@animalsliberty.de<br />
              </td>
              <td class="text" valign="top">
              Tel. 01 60/96 61 80 25<br />Mitglied seit: <?php echo $mg[$i]['eintritt']; ?>
              </td>
              </tr>
              <tr>
              <td colspan="2"><img src="pix/leer.gif" width="1" height="19" alt="" border="0"></td>
              </tr>
              </table>
              </div>
              <?php } else echo "&nbsp;" ?>
              </td>
              <td><img src="pix/leer.gif" width="1" height="153" alt="" border="0"></td>
              <td valign="top">
              <?php if (isset($mg[$i+1])){ ?>
              <div id="<?echo $id;?>">
              <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
              <td><img src="pix/leer.gif" width="90" height="155" alt="" border="0"></td>
              <td valign="top" nowrap><span class="text3">
              <img src="pix/leer.gif" width="1" height="10" alt="" border="0"><br />
              <?php echo $mg[$i+1]['vname'].' '.$mg[$i+1]['name'
              #((strlen($mg[$i+1]['vname'].' '.$mg[$i+1]['name']) > 15)?$mg[$i+1]['vname'].'<br />'.$mg[$i+1]['name']:$mg[$i+1]['vname'].' '.$mg[$i+1]['name']); ?>
              </span><br />
              <img src="pix/leer.gif" width="1" height="10" alt="" border="0"><br />
              <span class="text2">Mitglieds-Nr: <?php echo $mg[$i+1]['mitgliedsnr']; ?></span><br />
              </td>
              </tr>
              <tr>
              <td class="text" valign="top">
              &nbsp;[url]www.animalsliberty.de[/url]<br />&nbsp;info@animalsliberty.de<br />
              </td>
              <td class="text" valign="top">
              Tel. 01 60/96 61 80 25<br />Mitglied seit: <?php echo $mg[$i+1]['eintritt']; ?>
              </td>
              </tr>
              <tr>
              <td colspan="2"><img src="pix/leer.gif" width="1" height="19" alt="" border="0"></td>
              </tr>
              </table>
              </div>
              <?php } else echo "&nbsp;" ?>
              </td>
              <td>&nbsp;</td>
              </tr>
              <?php
              $i
              =$i+2;
              }

              ?>
              sieht da jemand einen Fehler?? also beim Ausdruck verschiebt sich jeder Block in jeder Zeile ein bisschen nach unten an was kann das liegen?
              Zuletzt geändert von Anbu; 24.01.2007, 13:04.
              Lurchi ! Lurchi ! Lurchi !

              Kommentar


              • #8
                Ich habe mir den ganzen Code noch nicht komplett angesehen, du solltest nur daran denken, dass $last_char kein integer ist, sondern ein string. Demnach:
                PHP-Code:
                if ($last_char == '1')
                {

                }
                // statt
                if ($last_char == 1)
                {


                Nieder mit der Camel Case-Konvention

                Kommentar


                • #9
                  achso probier ich gleich mal aus
                  Lurchi ! Lurchi ! Lurchi !

                  Kommentar


                  • #10
                    also daran lags leider auch nicht
                    Lurchi ! Lurchi ! Lurchi !

                    Kommentar


                    • #11
                      darstellungsprobleme haben i.d.r. nichts mit php zu tun.
                      wo kann man die ausgabe mal live sehen?

                      Kommentar


                      • #12
                        geht leider nicht hab grad nachgefragt is verwaltung...

                        kanns ja erklären

                        Es sieht so aus also:

                        Name:
                        Mitgliedsnummer:

                        homepage: Tel.:
                        startseite: Mitglied seit:


                        und des ist ein block auf ein Blatt passen 10 drauf immer 2 in einer Zeile
                        Lurchi ! Lurchi ! Lurchi !

                        Kommentar


                        • #13
                          dann erkläre auch dem techniker aus der werkstatt das nächste mal doch einfach mal am telefon (oder per e-mail), was mit deinem auto nicht stimmt. oder dem arzt, wenn dir etwas weh tut. würdest du dann immer noch sinnvolle (und vor allem effektive) hilfe von ihnen erwarten?

                          Kommentar


                          • #14
                            kann ja nichts dafür ich mein genauso wie ichs erklärt hab siehts auch aus ist ja nicht schwer sich des vorzustellen oder?
                            Lurchi ! Lurchi ! Lurchi !

                            Kommentar


                            • #15
                              ich denke nicht, dass dir mit einer "vorstellung" geholfen ist.

                              Kommentar

                              Lädt...
                              X